]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/EMCAL/AliEmcalTriggerMaker.h
Move GenerateFixedBinArray to AliAnalysisTaskEmcal and change data type from Float...
[u/mrichter/AliRoot.git] / PWG / EMCAL / AliEmcalTriggerMaker.h
1 #ifndef ALIEMCALTRIGGERMAKER_H
2 #define ALIEMCALTRIGGERMAKER_H
3
4 // $Id$
5
6 class TClonesArray;
7 class AliEmcalTriggerSetupInfo;
8 class AliAODCaloTrigger;
9 class AliVVZERO;
10
11 #include "AliAnalysisTaskEmcal.h"
12
13 class AliEmcalTriggerMaker : public AliAnalysisTaskEmcal {
14  public:
15   AliEmcalTriggerMaker();
16   AliEmcalTriggerMaker(const char *name);
17   virtual ~AliEmcalTriggerMaker();
18
19   void ExecOnce();
20   Bool_t Run();
21         void RunSimpleOfflineTrigger();
22
23   void SetCaloTriggersOutName(const char *name) { fCaloTriggersOutName      = name; }
24   void SetCaloTriggerSetupOutName(const char *name) { fCaloTriggerSetupOutName      = name; }
25
26   void SetTriggerThresholdJetLow( Int_t a, Int_t b, Int_t c ) { fThresholdConstants[2][0] = a; fThresholdConstants[2][1] = b; fThresholdConstants[2][2] = c; }
27   void SetTriggerThresholdJetHigh( Int_t a, Int_t b, Int_t c ) { fThresholdConstants[0][0] = a; fThresholdConstants[0][1] = b; fThresholdConstants[0][2] = c; }
28   
29   void SetV0InName(const char *name) { fV0InName      = name; }
30
31   Int_t IsEGA(Int_t level) {if (level > 1 || level < 0) AliError("EGA: check the requested threshold"); return fEGA[level];}
32   Int_t IsEJE(Int_t level) {if (level > 1 || level < 0) AliError("EJE: check the requested threshold"); return fEJE[level];}
33   
34  protected:  
35   TString            fCaloTriggersOutName;    // name of output track array
36   TString            fCaloTriggerSetupOutName;    // name of output track array
37   TString            fV0InName;    // name of output track array
38   TClonesArray      *fCaloTriggersOut;        //!trigger array out
39   AliEmcalTriggerSetupInfo  *fCaloTriggerSetupOut;        //!trigger setup
40   AliAODCaloTrigger *fSimpleOfflineTriggers; //! simple offline trigger
41   AliVVZERO         *fV0;                    //! V0 object
42   
43   Double_t           fPatchADCSimple[48][64]; //! patch map for simple offline trigger
44   Int_t              fThresholdConstants[4][3]; // simple offline trigger thresholds constants
45
46   Int_t              fEGA[2];
47   Int_t              fEJE[2];
48   
49  private:
50   AliEmcalTriggerMaker(const AliEmcalTriggerMaker&);            // not implemented
51   AliEmcalTriggerMaker &operator=(const AliEmcalTriggerMaker&); // not implemented
52
53   Bool_t NextTrigger( Bool_t &isOfflineSimple );
54
55   ClassDef(AliEmcalTriggerMaker, 3); // Task to make array of EMCAL particle
56 };
57 #endif