|
| 1 | +// Copyright CERN and copyright holders of ALICE O2. This software is |
| 2 | +// distributed under the terms of the GNU General Public License v3 (GPL |
| 3 | +// Version 3), copied verbatim in the file "COPYING". |
| 4 | +// |
| 5 | +// See http://alice-o2.web.cern.ch/license for full licensing information. |
| 6 | +// |
| 7 | +// In applying this license CERN does not waive the privileges and immunities |
| 8 | +// granted to it by virtue of its status as an Intergovernmental Organization |
| 9 | +// or submit itself to any jurisdiction. |
| 10 | + |
| 11 | +/// |
| 12 | +/// \file RawTask.h |
| 13 | +/// \author Cristina Terrevoli |
| 14 | +/// \author Markus Fasel |
| 15 | +/// |
| 16 | + |
| 17 | +#ifndef QC_MODULE_EMCAL_EMCALRAWTASK_H |
| 18 | +#define QC_MODULE_EMCAL_EMCALRAWTASK_H |
| 19 | + |
| 20 | +#include "QualityControl/TaskInterface.h" |
| 21 | +#include "EMCALBase/Mapper.h" |
| 22 | +#include <memory> |
| 23 | +#include <array> |
| 24 | + |
| 25 | +class TH1F; |
| 26 | +class TH2F; |
| 27 | +class TProfile2D; |
| 28 | + |
| 29 | +using namespace o2::quality_control::core; |
| 30 | + |
| 31 | +namespace o2::quality_control_modules::emcal |
| 32 | +{ |
| 33 | + |
| 34 | +/// \brief Example Quality Control DPL Task |
| 35 | +/// It is final because there is no reason to derive from it. Just remove it if needed. |
| 36 | +/// \author Barthelemy von Haller |
| 37 | +/// \author Piotr Konopka |
| 38 | +class RawTask /*final*/ : public TaskInterface // todo add back the "final" when doxygen is fixed |
| 39 | +{ |
| 40 | + public: |
| 41 | + /// \brief Constructor |
| 42 | + RawTask() = default; |
| 43 | + /// Destructor |
| 44 | + ~RawTask() override; |
| 45 | + |
| 46 | + // Definition of the methods for the template method pattern |
| 47 | + void initialize(o2::framework::InitContext& ctx) override; |
| 48 | + void startOfActivity(Activity& activity) override; |
| 49 | + void startOfCycle() override; |
| 50 | + void monitorData(o2::framework::ProcessingContext& ctx) override; |
| 51 | + void endOfCycle() override; |
| 52 | + void endOfActivity(Activity& activity) override; |
| 53 | + void reset() override; |
| 54 | + |
| 55 | + private: |
| 56 | + TH1F* mHistogram = nullptr; |
| 57 | + std::array<TH1*, 20> mRawAmplitudeEMCAL; /// Raw amplitude in EMCAL |
| 58 | + std::unique_ptr<o2::emcal::MappingHandler> mMappings; // |
| 59 | + std::array<TProfile2D*, 20> mRMSperSM; //ADC rms per SM |
| 60 | + std::array<TProfile2D*, 20> mMEANperSM; //ADC mean per SM |
| 61 | + std::array<TProfile2D*, 20> mMAXperSM; //ADC max per SM |
| 62 | + TH2F* mErrorTypeAltro = nullptr; //Error from AltroDecoder |
| 63 | + TH2F* mPayloadSizePerDDL = nullptr; //Payload size per ddl |
| 64 | +}; |
| 65 | + |
| 66 | +} // namespace o2::quality_control_modules::emcal |
| 67 | + |
| 68 | +#endif // QC_MODULE_EMCAL_EMCALRAWTASK_H |
0 commit comments