1 #ifndef ALIEMCALTrigger_H
2 #define ALIEMCALTrigger_H
4 //___________________________________________________________
5 // Class for trigger analysis.
6 // Digits are grouped in TRU's (384 cells? ordered fNTRUPhi x fNTRUEta).
7 // The algorithm searches all possible 4x4 cell combinations per each TRU,
8 // adding the digits amplitude and finding the maximum. Maximums are compared
9 // to triggers threshold and they are set. Thresholds need to be fixed.
10 // Last 2 modules are half size but they are treated as fullsize, then their
11 // TRU should be smaller. When this is fixed, class will be updated.
14 // //Inside the event loop
15 // AliEMCALTrigger *tr = new AliEMCALTrigger();//Init Trigger
16 // tr->SetL0MBPbPbThreshold(500);
17 // tr->SetL0MBppThreshold(100);
18 // tr->SetL1JetLowPtThreshold(1000);
19 // tr->SetL1JetMediumPtThreshold(10000);
20 // tr->SetL1JetHighPtThreshold(20000);
21 // tr->Trigger(); //Execute Trigger
22 // tr->Print(""); //Print results
25 //*-- Author: Gustavo Conesa & Yves Schutz (IFIC, SUBATECH, CERN)
27 // --- ROOT system ---
32 // --- AliRoot header files ---
33 #include "AliTriggerDetector.h"
35 class AliEMCALGeometry ;
37 class AliEMCALTrigger : public AliTriggerDetector {
40 AliEMCALTrigger() ; // ctor
41 AliEMCALTrigger(const AliEMCALTrigger & trig) ; // cpy ctor
42 virtual ~AliEMCALTrigger() {}; //virtual dtor
43 virtual void CreateInputs();
44 virtual void Trigger(); //Make EMCAL trigger
46 Int_t GetL0MBPbPbThreshold() const {return fL0MBPbPbThreshold ; }
47 Int_t GetL0MBppThreshold() const {return fL0MBppThreshold ; }
48 Int_t GetL1JetLowPtThreshold() const {return fL1JetLowPtThreshold ; }
49 Int_t GetL1JetMediumPtThreshold() const {return fL1JetMediumPtThreshold ; }
50 Int_t GetL1JetHighPtThreshold() const {return fL1JetHighPtThreshold ; }
52 void Print(const Option_t * opt ="") const ;
54 void SetL0MBPbPbThreshold(Int_t amp)
55 {fL0MBPbPbThreshold = amp; }
56 void SetL0MBppThreshold(Int_t amp)
57 {fL0MBppThreshold = amp; }
58 void SetL1JetLowPtThreshold(Int_t amp)
59 {fL1JetLowPtThreshold = amp; }
60 void SetL1JetMediumPtThreshold(Int_t amp)
61 {fL1JetMediumPtThreshold = amp; }
62 void SetL1JetHighPtThreshold(Int_t amp)
63 {fL1JetHighPtThreshold = amp; }
66 void MakeSlidingCell(const TClonesArray * trus, const Int_t nTRU,
67 const Int_t supermod, const Int_t nCellsPhi,
68 const Int_t nCellsEta, Float_t *ampmax) ;
71 void SetTriggers(const Float_t * ampmax, const Int_t nTRU) ;
76 Int_t fL0MBPbPbThreshold ; //! L0 PbPb trigger energy threshold
77 Int_t fL0MBppThreshold ; //! L0 pp trigger energy threshold
78 Int_t fL1JetLowPtThreshold ; //! Low pT trigger energy threshold
79 Int_t fL1JetMediumPtThreshold ; //! Medium pT trigger energy threshold
80 Int_t fL1JetHighPtThreshold ; //! High pT trigger energy threshold
82 ClassDef(AliEMCALTrigger,0)
86 #endif //ALIEMCALTrigger_H