]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/CaloTrackCorrelations/AliAnaRandomTrigger.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGGA / CaloTrackCorrelations / AliAnaRandomTrigger.h
1 #ifndef ALIANARANDOMTRIGGER_H
2 #define ALIANARANDOMTRIGGER_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice     */
5
6 //_________________________________________________________________________
7 // Gerenate a random trigger, input for other analysis
8 // Set flat energy distribution over acceptance of EMCAL, PHOS or CTS
9 // Be careful, correlate only with Min Bias events this random trigger particle
10 //
11 //
12 //-- Author: Gustavo Conesa (LPSC-Grenoble)
13
14 // Root system
15 class TH2F; 
16 #include <TRandom3.h>
17
18 // Analysis system
19 #include "AliAnaCaloTrackCorrBaseClass.h"
20  
21 class AliAnaRandomTrigger : public AliAnaCaloTrackCorrBaseClass {
22   
23  public: 
24   AliAnaRandomTrigger() ; // default ctor
25   virtual ~AliAnaRandomTrigger() { ; } //virtual dtor
26
27   Bool_t       ExcludeDeadBadRegions(Float_t eta, Float_t phi);
28   
29   TObjString * GetAnalysisCuts();
30   
31   TList      * GetCreateOutputObjects();
32     
33   void         InitParameters();
34     
35   void         MakeAnalysisFillAOD()  ;
36   
37   void         MakeAnalysisFillHistograms() ; 
38   
39   void         Print(const Option_t * opt) const;
40   
41   void         SetEtaCut(Float_t min, Float_t max) { fEtaCut[0] = min ; fEtaCut[1] = max;}
42   
43   void         SetPhiCut(Float_t min, Float_t max) { fPhiCut[0] = min ; fPhiCut[1] = max;} // radians
44   
45   void         SetNumberOfRandomParticles(Int_t n) { fNRandom   = n   ; }
46   
47   void         SetTriggerDetector(TString & det) ;
48   void         SetTriggerDetector(Int_t  det)    ;
49   
50  private:
51
52   Int_t      fTriggerDetector ;       // Detector : EMCAL, PHOS, CTS
53   TString    fTriggerDetectorString ; // Detector : EMCAL, PHOS, CTS
54   Float_t    fEtaCut[2]; // Eta acceptance
55   Float_t    fPhiCut[2]; // Phi acceptance, radians
56   TRandom3   fRandom   ; // Random generator
57   Int_t      fNRandom  ; // Number of random particles per event
58   
59   TLorentzVector fMomentum; //! avoid generating TLorentzVectors per event
60   
61   //Constrol histograms 
62   TH1F     * fhE;        //! E distribution
63   TH1F     * fhPt;       //! pT distribution
64   TH2F     * fhPhi;      //! phi distribution vs pT, negative
65   TH2F     * fhEta;      //! eta distribution vs pT, negative
66   TH2F     * fhEtaPhi;   //! eta vs phi distribution of positive charge
67   
68   AliAnaRandomTrigger(              const AliAnaRandomTrigger & r) ; // cpy ctor
69   AliAnaRandomTrigger & operator = (const AliAnaRandomTrigger & r) ; // cpy assignment
70   
71   ClassDef(AliAnaRandomTrigger,4)
72
73 } ;
74
75
76 #endif //ALIANARANDOMTRIGGER_H
77
78
79