]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PHOS/AliPHOSTrigger.h
Corrected the name of the trigger inputs, renamed data members and methods
[u/mrichter/AliRoot.git] / PHOS / AliPHOSTrigger.h
1 #ifndef ALIPHOSTrigger_H
2 #define ALIPHOSTrigger_H
3
4 //____________________________________________________________
5 //  Class for trigger analysis.
6 //  Digits are grouped in TRU's (16x28 crystals). The algorithm searches 
7 //  all possible 4x4 crystal combinations and per each TRU, adding the 
8 //  digits amplitude and finding the maximum. Maximums are compared to 
9 //  triggers threshold and they are set.
10
11 //*-- Author: Gustavo Conesa & Yves Schutz (IFIC, SUBATECH, CERN)
12      
13 // --- ROOT system ---
14
15 class TClonesArray ;
16
17
18 // --- AliRoot header files ---
19 #include "AliTriggerDetector.h"
20
21 class AliPHOSGeometry ;
22
23 class AliPHOSTrigger : public AliTriggerDetector {
24   
25  public:   
26   AliPHOSTrigger() ; //  ctor
27   AliPHOSTrigger(const AliPHOSTrigger & trig) ; // cpy ctor
28   virtual ~AliPHOSTrigger() {}; //virtual dtor
29   virtual void    CreateInputs();
30   virtual void    Trigger();  //Make PHOS trigger
31   
32   Int_t  GetNTRU() const                 {return fNTRU ; }  
33   Int_t  GetNTRUZ() const                {return fNTRUZ ; }  
34   Int_t  GetNTRUPhi() const              {return fNTRUPhi ; }  
35   Int_t  GetL0MBPbPbThreshold() const    {return fL0MBPbPbThreshold ; } 
36   Int_t  GetL0MBppThreshold() const      {return fL0MBppThreshold ; } 
37   Int_t  GetL1JetLowPtThreshold() const  {return fL1JetLowPtThreshold ; }
38   Int_t  GetL1JetHighPtThreshold() const {return fL1JetHighPtThreshold ; }
39
40   void         Print(const Option_t * opt ="") const ;  
41
42   void         SetNTRU(Int_t ntru)               {fNTRU              = ntru; }
43   void         SetNTRUZ(Int_t ntru)              {fNTRUZ             = ntru; }
44   void         SetNTRUPhi(Int_t ntru)            {fNTRUPhi           = ntru; }
45   void         SetL0MBPbPbThreshold(Int_t amp)   {fL0MBPbPbThreshold   = amp; }
46   void         SetL0MBppThreshold(Int_t amp)     {fL0MBppThreshold     = amp; }
47   void         SetL1JetLowPtThreshold(Int_t amp) 
48     {fL1JetLowPtThreshold  = amp; } 
49   void         SetL1JetHighPtThreshold(Int_t amp)
50     {fL1JetHighPtThreshold = amp; }
51
52  private:
53   TClonesArray *  FillTRU(const TClonesArray * digits, 
54                           const AliPHOSGeometry * geom, const Int_t nModules, 
55                           const Int_t nCrystalsPhi, const Int_t nCrystalsZ) const ;
56   void MakeSlidingCell(const TClonesArray * trus, const Int_t mod,
57                        const Int_t nCrystalsPhi, const Int_t nCrystalsZ, 
58                        Float_t *ampmax) ;
59   void SetTriggers(const Float_t * ampmax) ;
60
61
62  private: 
63
64   Int_t    fNTRU ;                 //! Number of TRUs per module
65   Int_t    fNTRUZ ;                //! Number of crystal rows per Z in one TRU
66   Int_t    fNTRUPhi ;              //! Number of crystal rows per Phi in one TRU
67   Int_t    fL0MBPbPbThreshold ;    //! L0 PbPb trigger energy threshold
68   Int_t    fL0MBppThreshold ;      //! L0 pp trigger energy threshold
69   Int_t    fL1JetLowPtThreshold ;  //! Low and High pT trigger energy threshold
70   Int_t    fL1JetHighPtThreshold ; //! 
71
72   ClassDef(AliPHOSTrigger,3)
73 } ;
74
75
76 #endif //ALIPHOSTrigger_H