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