]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONTriggerQADataMakerRec.h
Cut on min. amplitude (>10 ADC) in High and Low gain introduced.
[u/mrichter/AliRoot.git] / MUON / AliMUONTriggerQADataMakerRec.h
CommitLineData
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
16class AliMUONCalibrationData;
17class AliMUONDigitMaker;
18class AliMUONVClusterStore;
19class AliMUONTriggerElectronics;
20class AliMUONVDigitStore;
21class TObjectArray;
22class TMap;
23class AliMpDCSNamer;
24
25class AliMUONTriggerQADataMakerRec: public AliMUONVQADataMakerRec {
26
27public:
28 AliMUONTriggerQADataMakerRec(AliQADataMakerRec* master);
29 virtual ~AliMUONTriggerQADataMakerRec();
30
31 virtual void InitRaws();
32 virtual void InitRecPoints();
33 virtual void InitDigits();
34 virtual void InitESDs();
35
36 void EndOfDetectorCycleRaws(Int_t specie, TObjArray** list);
37 void EndOfDetectorCycleRecPoints(Int_t specie, TObjArray** list);
38 void EndOfDetectorCycleESDs(Int_t specie, TObjArray** list);
39 void EndOfDetectorCycleDigits(Int_t , TObjArray** ) {}
40
41 virtual void MakeRaws(AliRawReader* rawReader);
42
43 virtual void MakeDigits(TTree* dig);
44 virtual void MakeRecPoints(TTree* recpo);
45 virtual void MakeESDs(AliESDEvent* esd) ;
46
47public:
48
49 /// Raw histograms indices
50
51 enum ERaw {
52 kTriggerScalers = 22, ///< Trigger scalers histogram per plane index
53 kTriggerScalersDisplay = 30, ///< Trigger scalers display histogram per plane index
54 kTriggerScalersTime = 38, ///< Trigger scalers acquisition time index
55 kTriggerCalibSummary = 39, ///< Summary of responding strips/boards and noisy strips
56 kTriggeredBoards = 40, ///< Triggered boards histogram index
57 kTriggerBoardsDisplay = 41, ///< Triggered boards display histogram index
58 kTriggerErrorLocalXPos = 50, ///< Local board: Number of XPos Error vs Local Board Id
59 kTriggerErrorLocalYPos = 51, ///< Local board: Number of YPos Error vs Local Board Id
60 kTriggerErrorLocalDev = 52, ///< Local board: Number of Deviation Error vs Local Board
61 kTriggerErrorLocalTriggerDec = 53, ///< Local board: Number of Trigger Decision (All Pt) Error vs Local Board Id
62 kTriggerErrorLocalLPtLSB = 54, ///< Local board: Number of LSB Low Pt Error vs Local Board Id
63 kTriggerErrorLocalLPtMSB = 55, ///< Local board: Number of MSB Low Pt Error vs Local Board Id
64 kTriggerErrorLocalHPtLSB = 56, ///< Local board: Number of LSB High Pt Error vs Local Board Id
65 kTriggerErrorLocalHPtMSB = 57, ///< Local board: Number of MSB High Pt Error vs Local Board Id
66 kTriggerErrorLocal2RegionalLPtLSB = 58, ///< Local to Regional: Number of LPt LSB error vs Local Board Id
67 kTriggerErrorLocal2RegionalLPtMSB = 59, ///< Local to Regional: Number of LPt MSB error vs Local Board Id
68 kTriggerErrorLocal2RegionalHPtLSB = 60, ///< Local to Regional: Number of HPt LSB error vs Local Board Id
69 kTriggerErrorLocal2RegionalHPtMSB = 61, ///< Local to Regional: Number of HPt MSB error vs Local Board Id
70 kTriggerErrorOutGlobalFromInGlobal = 62, ///< Global board: Number of error vs output bit
71 kTriggerError = 63, ///< percentage of error for each trigger decision level (Local, Reg->Local, Reg, Reg->Glob, Global)
72 kTriggerErrorLocalTrigY = 64, ///< Local board: Number of TrigY Error vs Local Board Id
73 kTriggerErrorLocalYCopy = 65, ///< Local board: Number of Y Copy Error vs Local Board Id
74
75 kRawNAnalyzedEvents = 66, ///< Number of analyzed events per event specie
76 kTriggerReadOutErrors = 67, ///< Number of read-out errors
77 kTriggerGlobalOutput = 68 //< Histo including Global outputs and Global algo errors
78 };
79
80 /// Rec points histograms indices
81 enum ERecPoints {
82 kNAnalyzedEvents = 0, ///< Number of analyzed events per event specie
83 kTriggerRPCtrips = 1, ///< Trips in trigger chambers
ffaafee5 84 kTriggerRPChv = 2 ///< Trigger chamber HV index
ece56eb9 85 };
86
87// /// ESD histograms indices
88// enum EESD {
89// };
90
91 // Bins for summary histos
92 enum {
93 kTriggerRespStrips, ///< Bin for % of responding trigger strips
94 kTriggerRespLocal, ///< Bin for % of responding trigger local boards
95 kTriggerRespRegional, ///< Bin for % of responding trigger regional boards
96 kTriggerRespGlobal, ///< Bin for % of responding trigger global boards
97 kTriggerNoisyStrips, ///< Bin for % of noisy trigger strips
98 kNtrigCalibSummaryBins ///< Total number of bins for trigger calibration summary
99 };
100
101 // Bins for algorithm error histos
102 enum {
103 kAlgoLocalX, ///< Bin for % of local board X pos errors
104 kAlgoLocalY, ///< Bin for % of local board Y pos errors
105 kAlgoLocalLUT, ///< Bin for % of local board deviation errors
106 kAlgoLocalYCopy, ///< Bin for % of local board Y copy errors
107 kAlgoLocalToRegional, ///< Bin for % of local to regional errors
108 kAlgoRegional, ///< Bin for % of regional board errors
109 kAlgoRegionalToGlobal, ///< Bin for % of regional to global errors
110 kAlgoGlobalFromGlobal, ///< Bin for % of global from global board errors
111 kAlgoGlobalFromLocal, ///< Bin for % of global from local board errors
112 kAlgoGlobalFromRegional, ///< Bin for % of global from regional board errors
113 kNtrigAlgoErrorBins ///< Total number of bins for trigger error summary
114 };
115
116 enum {
117 kLocalStructError, ///< Bin for % of errors in local struct
118 kRegionalStructError, ///< Bin for % of errors in regional struct
119 kGlobalStructError, ///< Bin for % of errors in global struct
120 kDarcStructError, ///< Bin for % of errors in darc struct
121 kNtrigStructErrorBins ///< Total number of bins for struct error summary
122 };
123
124private:
125
126 AliMUONTriggerQADataMakerRec(const AliMUONTriggerQADataMakerRec& qadm);
127 AliMUONTriggerQADataMakerRec& operator=(const AliMUONTriggerQADataMakerRec& qadm);
128
129 void DisplayTriggerInfo();
130 Bool_t FillTriggerDCSHistos();
131 TObjArray* GetDCSValues(Int_t iMeas, Int_t detElemId,
132 TMap* triggerDcsMap, AliMpDCSNamer& triggerDcsNamer);
133 void RawTriggerInRegional2OutRegional();
134 void RawTriggerInGlobal2OutGlobal();
135 void RawTriggerMatchOutLocal();
136 void RawTriggerMatchOutLocalInRegional();
137 void RawTriggerMatchOutGlobalFromInGlobal();
138
139 Int_t fTriggerOutputLocalDataTriggerDec[235]; ///< Data Local Trigger decision for each active Local Board
140 Int_t fTriggerOutputLocalDataTrigY[235]; ///< Data Local Trigger Y decision for each active Local Board
141 Int_t fTriggerOutputLocalDataLPtDec[2][235]; ///< Data Local decision Low Pt for each active Local Board (2 Bits -> 0:LSB, 1:MSB)
142 Int_t fTriggerOutputLocalDataHPtDec[2][235]; ///< Data Local decision High Pt for each active Local Board (2 Bits -> 0:LSB, 1:MSB)
143 Int_t fTriggerOutputLocalDataXPos[235]; ///< Data Local XPos for each active Local Board
144 Int_t fTriggerOutputLocalDataYPos[235]; ///< Data Local YPos for each active Local Board
145 Int_t fTriggerOutputLocalDataDev[235]; ///< Data Local deviation for each active Local Board
146
147 Int_t fTriggerOutputLocalRecTriggerDec[235]; ///< Reconstructed Local Trigger decision for each active Local Board
148 Int_t fTriggerOutputLocalRecTrigY[235]; ///< Reconstructed Local Trigger Y decision for each active Local Board
149 Int_t fTriggerOutputLocalRecLPtDec[2][235]; ///< Reconstructed Local decision Low Pt for each active Local Board (2 Bits -> 0:LSB, 1:MSB)
150 Int_t fTriggerOutputLocalRecHPtDec[2][235]; ///< Reconstructed Local decision High Pt for each active Local Board (2 Bits -> 0:LSB, 1:MSB)
151 Int_t fTriggerOutputLocalRecXPos[235]; ///< Reconstructed Local XPos for each active Local Board
152 Int_t fTriggerOutputLocalRecYPos[235]; ///< Reconstructed Local YPos for each active Local Board
153 Int_t fTriggerOutputLocalRecDev[235]; ///< Reconstructed Local deviation for each active Local Board
154
155 Int_t fTriggerInputRegionalDataLPt[2][235]; ///< Data Regional Input LPt for each Local board
156 Int_t fTriggerInputRegionalDataHPt[2][235]; ///< Data Regional Input HPt for each Local board
157 Int_t fTriggerOutputRegionalData[16]; ///< Data Regional Trigger decision for each Regional Board (1R:0, 2R:1, ... , 1L:8, ...) -> 4 bits LPt, 4 bits HPt
158 Int_t fTriggerInputRegionalRecLPt[2][16][16]; ///< Reconstructed Regional Input LPt for each Regional Board ([bit][reg][loc]) (reg -> 1R:0, 2R:1, ... , 1L:8, ...)
159 Int_t fTriggerInputRegionalRecHPt[2][16][16]; ///< Reconstructed Regional Input HPt for each Regional Board ([bit][reg][loc]) (reg -> 1R:0, 2R:1, ... , 1L:8, ...)
160 Int_t fTriggerOutputRegionalRec[16]; ///< Reconstructed Regional Trigger decision for each Regional Board (8 Bits)
161
162 Int_t fTriggerInputGlobalDataLPt[16][4]; ///< Data Global inputs LPt (1R:0, 2R:1, ... , 1L:8, ...)
163 Int_t fTriggerInputGlobalDataHPt[16][4]; ///< Data Global inputs HPt (1R:0, 2R:1, ... , 1L:8, ...)
164 Int_t fTriggerOutputGlobalData[6]; ///< Data Global outputs
165 Int_t fTriggerOutputGlobalRecFromGlobalInput[6]; //< Reconstructed Global outputs from Global inputs
166 Int_t fTriggerOutputGlobalRecFromLocalInput[6]; //< Reconstructed Global outputs from Local inputs
167 Int_t fTriggerOutputGlobalRecFromLocalOutput[6]; //< Reconstructed Global outputs from Local outputs
168 Int_t fgitmp[4]; //< Tempory used to store Global inputs
169 Int_t fgotmp[6]; //< Tempory used to store Global outputs
170
171 Int_t fTriggerPatternX1[243][16]; ///< Local pattern X1
172 Int_t fTriggerPatternX2[243][16]; ///< Local pattern X2
173 Int_t fTriggerPatternX3[243][16]; ///< Local pattern X3
174 Int_t fTriggerPatternX4[243][16]; ///< Local pattern X4
175 Int_t fTriggerPatternY1[243][16]; ///< Local pattern Y1
176 Int_t fTriggerPatternY2[243][16]; ///< Local pattern Y2
177 Int_t fTriggerPatternY3[243][16]; ///< Local pattern Y3
178 Int_t fTriggerPatternY4[243][16]; ///< Local pattern Y4
179
180 Bool_t fTriggerErrorLocalYCopy[235]; ///< True if Y copy error for Local Board i
181
182 AliMUONDigitMaker* fDigitMaker; //!< pointer to digit maker
183 AliMUONCalibrationData* fCalibrationData; //!< Used to load Local, Regional and Global masks
184 AliMUONTriggerElectronics* fTriggerProcessor; //!< trigger processore to re-compute response
185 AliMUONVDigitStore* fDigitStore; //!< pointer to digits store
186
187 ClassDef(AliMUONTriggerQADataMakerRec,1) // MUON Quality assurance data maker
188
189};
190
191#endif