In AliMUONTriggerQADataMakerRec:
[u/mrichter/AliRoot.git] / MUON / AliMUONTriggerQADataMakerRec.h
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;
24 class AliMUONVTriggerStore;
25 class AliMUONGlobalTrigger;
26 class TH1F;
27
28 class AliMUONTriggerQADataMakerRec: public AliMUONVQADataMakerRec {
29
30 public:
31   AliMUONTriggerQADataMakerRec(AliQADataMakerRec* master);         
32   virtual ~AliMUONTriggerQADataMakerRec();
33   
34   virtual void InitRaws(); 
35   virtual void InitRecPoints(); 
36   virtual void InitDigits(); 
37   virtual void InitESDs(); 
38   
39   void EndOfDetectorCycleRaws(Int_t specie, TObjArray** list);
40   void EndOfDetectorCycleRecPoints(Int_t specie, TObjArray** list);
41   void EndOfDetectorCycleESDs(Int_t specie, TObjArray** list);
42   
43   /// Empty implementation
44   void EndOfDetectorCycleDigits(Int_t , TObjArray** ) {}
45     
46   virtual void MakeRaws(AliRawReader* rawReader); 
47   
48   virtual void MakeDigits(TTree* dig); 
49   virtual void MakeRecPoints(TTree* recpo); 
50   virtual void MakeESDs(AliESDEvent* esd) ;
51   
52 private:
53   /// Not implemented
54   AliMUONTriggerQADataMakerRec(const AliMUONTriggerQADataMakerRec& qadm);   
55   /// Not implemented
56   AliMUONTriggerQADataMakerRec& operator=(const AliMUONTriggerQADataMakerRec& qadm);
57
58   void DisplayTriggerInfo();
59   void FillRatio4434Histos(Int_t evtInterval);
60   Bool_t FillTriggerDCSHistos();
61   TObjArray* GetDCSValues(Int_t iMeas, Int_t detElemId,
62                           TMap* triggerDcsMap, AliMpDCSNamer& triggerDcsNamer);
63   UChar_t RawTriggerInGlobal2OutGlobal(UInt_t globalInput[4]);
64   void RawTriggerMatchOutLocal(AliMUONVTriggerStore& inputTriggerStore, AliMUONVTriggerStore& recoTriggerStore);
65   //void RawTriggerMatchOutLocalInRegional();
66   void RawTriggerMatchOutGlobal(AliMUONGlobalTrigger& inputLocalTrigger,
67                                 AliMUONGlobalTrigger& recoGlobalTrigger,
68                                 Char_t histo); 
69
70   //Int_t fTriggerOutputRegionalData[16]; ///< Data Regional Trigger decision for each Regional Board (1R:0, 2R:1, ... , 1L:8, ...) -> 4 bits LPt, 4 bits HPt
71   //Int_t fTriggerInputRegionalRecLPt[2][16][16]; ///< Reconstructed Regional Input LPt for each Regional Board ([bit][reg][loc]) (reg -> 1R:0, 2R:1, ... , 1L:8, ...)
72   //Int_t fTriggerInputRegionalRecHPt[2][16][16]; ///< Reconstructed Regional Input HPt for each Regional Board ([bit][reg][loc]) (reg -> 1R:0, 2R:1, ... , 1L:8, ...)
73   //Int_t fTriggerOutputRegionalRec[16]; ///< Reconstructed Regional Trigger decision for each Regional Board (8 Bits)
74
75   //Int_t fTriggerInputGlobalDataLPt[16][4]; ///< Data Global inputs LPt (1R:0, 2R:1, ... , 1L:8, ...)
76   //Int_t fTriggerInputGlobalDataHPt[16][4]; ///< Data Global inputs HPt (1R:0, 2R:1, ... , 1L:8, ...)
77   //Int_t fTriggerOutputGlobalRecFromLocalInput[6]; //< Reconstructed Global outputs from Local inputs
78   //Int_t fTriggerOutputGlobalRecFromLocalOutput[6]; //< Reconstructed Global outputs from Local outputs
79
80   static const Int_t fgkUpdateRatio4434=50; ///< Event interval between 2 update of the Ratio4434 histos
81   TH1F *fNumberOf34Dec; //!< Number of Decision in coincidence 3/4 vs Local Board (for the calculation of the Ratio4434)
82   TH1F *fNumberOf44Dec; //!< Number of Decision in coincidence 4/4 vs Local Board (for the calculation of the Ratio4434)
83   
84   AliMUONDigitMaker* fDigitMaker; //!< pointer to digit maker
85   AliMUONCalibrationData* fCalibrationData; //!< Used to load Local, Regional and Global masks
86   AliMUONTriggerElectronics* fTriggerProcessor; //!< trigger processore to re-compute response
87   AliMUONVDigitStore* fDigitStore; //!< pointer to digits store
88   
89   ClassDef(AliMUONTriggerQADataMakerRec,1)  // MUON Quality assurance data maker
90
91 };
92
93 #endif