1 #ifndef ALIMUONTRIGGERQADATAMAKERREC_H
2 #define ALIMUONTRIGGERQADATAMAKERREC_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
9 /// \class AliMUONTriggerQADataMakerRec
10 /// \brief MUON Quality assurance data maker for MTR
13 // --- AliRoot header files ---
14 #include "AliMUONVQADataMakerRec.h"
16 class AliMUONCalibrationData;
17 class AliMUONDigitMaker;
18 class AliMUONVClusterStore;
19 class AliMUONTriggerElectronics;
20 class AliMUONVDigitStore;
24 class AliMUONVTriggerStore;
25 class AliMUONGlobalTrigger;
27 class AliMUONTriggerQADataMakerRec: public AliMUONVQADataMakerRec {
30 AliMUONTriggerQADataMakerRec(AliQADataMakerRec* master);
31 virtual ~AliMUONTriggerQADataMakerRec();
33 virtual void InitRaws();
34 virtual void InitRecPoints();
35 virtual void InitDigits();
36 virtual void InitESDs();
38 void EndOfDetectorCycleRaws(Int_t specie, TObjArray** list);
39 void EndOfDetectorCycleRecPoints(Int_t specie, TObjArray** list);
40 void EndOfDetectorCycleESDs(Int_t specie, TObjArray** list);
41 void EndOfDetectorCycleDigits(Int_t , TObjArray** ) {}
43 virtual void MakeRaws(AliRawReader* rawReader);
45 virtual void MakeDigits(TTree* dig);
46 virtual void MakeRecPoints(TTree* recpo);
47 virtual void MakeESDs(AliESDEvent* esd) ;
51 /// Raw histograms indices
54 kTriggerScalersTime = 22, ///< Trigger scalers acquisition time index
55 kTriggerScalers = 23, ///< Trigger scalers histogram per plane index
56 kTriggerScalersDisplay = 31, ///< Trigger scalers display histogram per plane index
57 kTriggerCalibSummary = 40, ///< Number of responding strips/boards and noisy strips
58 kTriggerCalibSummaryNorm = 41, ///< Percentage of responding strips/boards and noisy strips
59 kTriggerErrorLocalXPos = 50, ///< Local board: Number of XPos Error vs Local Board Id
60 kTriggerErrorLocalYPos = 51, ///< Local board: Number of YPos Error vs Local Board Id
61 kTriggerErrorLocalDev = 52, ///< Local board: Number of Deviation Error vs Local Board
62 kTriggerErrorLocalTriggerDec = 53, ///< Local board: Number of Trigger Decision (All Pt) Error vs Local Board Id
63 kTriggerErrorLocalLPtLSB = 54, ///< Local board: Number of LSB Low Pt Error vs Local Board Id
64 kTriggerErrorLocalLPtMSB = 55, ///< Local board: Number of MSB Low Pt Error vs Local Board Id
65 kTriggerErrorLocalHPtLSB = 56, ///< Local board: Number of LSB High Pt Error vs Local Board Id
66 kTriggerErrorLocalHPtMSB = 57, ///< Local board: Number of MSB High Pt Error vs Local Board Id
67 kTriggerErrorLocalTrigY = 58, ///< Local board: Number of TrigY Error vs Local Board Id
68 kTriggerErrorLocal2RegionalLPtLSB = 59, ///< Local to Regional: Number of LPt LSB error vs Local Board Id
69 kTriggerErrorLocal2RegionalLPtMSB = 60, ///< Local to Regional: Number of LPt MSB error vs Local Board Id
70 kTriggerErrorLocal2RegionalHPtLSB = 61, ///< Local to Regional: Number of HPt LSB error vs Local Board Id
71 kTriggerErrorLocal2RegionalHPtMSB = 62, ///< Local to Regional: Number of HPt MSB error vs Local Board Id
72 kTriggerErrorOutGlobalFromInGlobal = 63, ///< Global board: Number of error vs output bit
73 kTriggerErrorSummary = 64, ///< Number of errors for each trigger decision level (Local, Reg->Local, Reg, Reg->Glob, Global)
74 kTriggerErrorSummaryNorm = 65, ///< Percentage of errors for each trigger decision level
75 kTriggerErrorLocalYCopy = 67, ///< Local board: Number of Y Copy Error vs Local Board Id
76 kTriggerErrorLocalYCopyTest = 68, ///< Local Board: Number of Y copy error tests (for normalization)
77 kTriggerErrorLocalYCopyNorm = 69, ///< Local Board: Number of Y Copy Error vs Local Board Id Normalized to the number of tests
78 kTriggeredBoards = 70, ///< Triggered boards histogram index
79 kTriggerBoardsDisplay = 71, ///< Triggered boards display histogram index
80 kTriggerReadOutErrors = 80, ///< Number of read-out errors
81 kTriggerReadOutErrorsNorm = 81, ///< Percentage of read-out errors
82 kTriggerGlobalOutput = 90, ///< Number of Global outputs and Global algo errors
83 kTriggerGlobalOutputNorm = 91, ///< Percentage of Global outputs and Global algo errors
84 kRawNAnalyzedEvents = 100 ///< Number of analyzed events per event specie
87 /// Rec points histograms indices
89 kNAnalyzedEvents = 0, ///< Number of analyzed events per event specie
90 kTriggerRPCtrips = 1, ///< Trips in trigger chambers
91 kTriggerRPChv = 2 ///< Trigger chamber HV index
94 // /// ESD histograms indices
98 // Bins for summary histos
100 kTriggerRespStrips, ///< Bin for % of responding trigger strips
101 kTriggerRespLocal, ///< Bin for % of responding trigger local boards
102 kTriggerRespRegional, ///< Bin for % of responding trigger regional boards
103 kTriggerRespGlobal, ///< Bin for % of responding trigger global boards
104 kTriggerNoisyStrips, ///< Bin for % of noisy trigger strips
105 kNtrigCalibSummaryBins ///< Total number of bins for trigger calibration summary
108 // Bins for algorithm error histos
110 kAlgoLocalX, ///< Bin for % of local board X pos errors
111 kAlgoLocalY, ///< Bin for % of local board Y pos errors
112 kAlgoLocalLUT, ///< Bin for % of local board deviation errors
113 kAlgoLocalYCopy, ///< Bin for % of local board Y copy errors
114 kAlgoLocalToRegional, ///< Bin for % of local to regional errors
115 kAlgoRegional, ///< Bin for % of regional board errors
116 kAlgoRegionalToGlobal, ///< Bin for % of regional to global errors
117 kAlgoGlobalFromGlobal, ///< Bin for % of global from global board errors
118 kAlgoGlobalFromLocal, ///< Bin for % of global from local board errors
119 kAlgoGlobalFromRegional, ///< Bin for % of global from regional board errors
120 kNtrigAlgoErrorBins ///< Total number of bins for trigger error summary
124 kLocalStructError, ///< Bin for % of errors in local struct
125 kRegionalStructError, ///< Bin for % of errors in regional struct
126 kGlobalStructError, ///< Bin for % of errors in global struct
127 kDarcStructError, ///< Bin for % of errors in darc struct
128 kNtrigStructErrorBins ///< Total number of bins for struct error summary
133 AliMUONTriggerQADataMakerRec(const AliMUONTriggerQADataMakerRec& qadm);
134 AliMUONTriggerQADataMakerRec& operator=(const AliMUONTriggerQADataMakerRec& qadm);
136 void DisplayTriggerInfo();
137 Bool_t FillTriggerDCSHistos();
138 TObjArray* GetDCSValues(Int_t iMeas, Int_t detElemId,
139 TMap* triggerDcsMap, AliMpDCSNamer& triggerDcsNamer);
140 void RawTriggerInRegional2OutRegional();
141 UChar_t RawTriggerInGlobal2OutGlobal(UInt_t globalInput[4]);
142 void RawTriggerMatchOutLocal(AliMUONVTriggerStore& inputTriggerStore, AliMUONVTriggerStore& recoTriggerStore);
143 //void RawTriggerMatchOutLocalInRegional();
144 void RawTriggerMatchOutGlobalFromInGlobal(AliMUONGlobalTrigger& inputLocalTrigger,
145 AliMUONGlobalTrigger& recoGlobalTrigger);
147 //Int_t fTriggerOutputRegionalData[16]; ///< Data Regional Trigger decision for each Regional Board (1R:0, 2R:1, ... , 1L:8, ...) -> 4 bits LPt, 4 bits HPt
148 //Int_t fTriggerInputRegionalRecLPt[2][16][16]; ///< Reconstructed Regional Input LPt for each Regional Board ([bit][reg][loc]) (reg -> 1R:0, 2R:1, ... , 1L:8, ...)
149 //Int_t fTriggerInputRegionalRecHPt[2][16][16]; ///< Reconstructed Regional Input HPt for each Regional Board ([bit][reg][loc]) (reg -> 1R:0, 2R:1, ... , 1L:8, ...)
150 //Int_t fTriggerOutputRegionalRec[16]; ///< Reconstructed Regional Trigger decision for each Regional Board (8 Bits)
152 //Int_t fTriggerInputGlobalDataLPt[16][4]; ///< Data Global inputs LPt (1R:0, 2R:1, ... , 1L:8, ...)
153 //Int_t fTriggerInputGlobalDataHPt[16][4]; ///< Data Global inputs HPt (1R:0, 2R:1, ... , 1L:8, ...)
154 //Int_t fTriggerOutputGlobalRecFromLocalInput[6]; //< Reconstructed Global outputs from Local inputs
155 //Int_t fTriggerOutputGlobalRecFromLocalOutput[6]; //< Reconstructed Global outputs from Local outputs
157 AliMUONDigitMaker* fDigitMaker; //!< pointer to digit maker
158 AliMUONCalibrationData* fCalibrationData; //!< Used to load Local, Regional and Global masks
159 AliMUONTriggerElectronics* fTriggerProcessor; //!< trigger processore to re-compute response
160 AliMUONVDigitStore* fDigitStore; //!< pointer to digits store
162 ClassDef(AliMUONTriggerQADataMakerRec,1) // MUON Quality assurance data maker