17 #ifndef QC_MODULE_ITS_ITSFHRTASK_H    18 #define QC_MODULE_ITS_ITSFHRTASK_H    21 #include <ITSMFTReconstruction/ChipMappingITS.h>    22 #include <ITSMFTReconstruction/PixelData.h>    23 #include <ITSBase/GeometryTGeo.h>    24 #include <ITSMFTReconstruction/RawPixelDecoder.h>    29 #include <THnSparse.h>    35 using PixelReader = o2::itsmft::PixelReader;
    44   using ChipPixelData = o2::itsmft::ChipPixelData;
    53   void initialize(o2::framework::InitContext& ctx) 
override;
    54   void startOfActivity(
Activity& activity) 
override;
    55   void startOfCycle() 
override;
    56   void monitorData(o2::framework::ProcessingContext& ctx) 
override;
    57   void endOfCycle() 
override;
    58   void endOfActivity(
Activity& activity) 
override;
    59   void reset() 
override;
    62   int mAverageProcessTime = 0;
    63   void setAxisTitle(TH1* 
object, 
const char* xTitle, 
const char* yTitle);
    64   void createGeneralPlots(
int barrel); 
    65   void createErrorTriggerPlots();
    66   void createOccupancyPlots();
    67   void setPlotsFormat();
    68   void getEnableLayers();
    69   void resetGeneralPlots();
    70   void resetOccupancyPlots();
    72   static constexpr 
int NCols = 1024; 
    73   static constexpr 
int NRows = 512;  
    74   static constexpr 
int NLayer = 7;   
    75   static constexpr 
int NLayerIB = 3;
    77   const int NSubStave[NLayer] = { 1, 1, 1, 2, 2, 2, 2 };
    78   const int NStaves[NLayer] = { 12, 16, 20, 24, 30, 42, 48 };
    79   const int nHicPerStave[NLayer] = { 1, 1, 1, 8, 8, 14, 14 };
    80   const int nChipsPerHic[NLayer] = { 9, 9, 9, 14, 14, 14, 14 };
    82   const int StaveBoundary[NLayer + 1] = { 0, 12, 28, 48, 72, 102, 144, 192 };
    83   const int ReduceFraction = 1; 
    85   std::array<bool, NLayer> mEnableLayers = { 
false };
    88   std::vector<std::pair<int, int>> mHitPixelID[7][48][14][14];              
    89   std::unordered_map<unsigned int, int> mHitPixelID_Hash[7][48][2][14][14]; 
    91   std::vector<int> mPixelHitNumber[7][48][14][14]; 
    92   o2::itsmft::RawPixelDecoder<o2::itsmft::ChipMappingITS>* mDecoder;
    93   ChipPixelData* mChipDataBuffer = 
nullptr;
    94   std::vector<ChipPixelData> mChipsBuffer;
    95   int mHitNumberOfChip[7][48][2][14][14] = { { { { { 0 } } } } }; 
    97   uint32_t mTriggerTypeCount[13] = { 0 };
   101   unsigned int mErrors[19] = { 0 };
   102   static constexpr 
int NTrigger = 13;
   105   TString mTriggerType[NTrigger] = { 
"ORBIT", 
"HB", 
"HBr", 
"HC", 
"PHYSICS", 
"PP", 
"CAL", 
"SOT", 
"EOT", 
"SOC", 
"EOC", 
"TF", 
"INT" };
   111   TH2I* mTriggerVsFeeid;
   114   TH2I* mInfoCanvasComm;   
   115   TH2I* mInfoCanvasOBComm; 
   117   TText* mTextForShifter;
   118   TText* mTextForShifter2;
   121   THnSparseI* mStaveHitmap[7][48];
   123   TH2D* mChipStaveOccupancy[7];
   124   TH2I* mChipStaveEventHitCheck[7];
   125   TH1D* mOccupancyPlot[7];
   127   std::string mRunNumberPath;
   128   std::string mRunNumber = 
"000000";
   131   o2::its::GeometryTGeo* mGeom;
   135 #endif // QC_MODULE_ITS_ITSFHRTASK_H Definition: ITSClusterTask.h:31
 
Skeleton of a QC task. 
Definition: TaskInterface.h:53
 
ITS Fake-hit rate real-time data processing task Working with the chain of "Detector -> RU -> CRU -> ...
Definition: ITSFhrTask.h:42
 
Dummy class that should be removed when there is the official one. This corresponds to a Run1/2 "run"...
Definition: Activity.h:25
 
These methods can be used to build a complex processing topology. It spawns 3 separate dummy processi...
Definition: Activity.h:19