]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONTriggerQADataMakerRec.h
Fixing (again) the HV display for St1 and 2. Should be OK now
[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;
a026ce9e 24class AliMUONVTriggerStore;
25class AliMUONGlobalTrigger;
ece56eb9 26
27class AliMUONTriggerQADataMakerRec: public AliMUONVQADataMakerRec {
28
29public:
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
51public:
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
133private:
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