New class to generate randomly trigger particles for isolation and correlation analysis.
[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 trigger
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(const Float_t eta, const 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         SetDetector(TString detector) { fDetector = detector ; }  
42   
43   void         SetEtaCut(Float_t min, Float_t max) { fEtaCut[0] = min ; fEtaCut[1] = max;}
44   
45   void         SetPhiCut(Float_t min, Float_t max) { fPhiCut[0] = min ; fPhiCut[1] = max;} // radians
46   
47  private:
48   
49   TString    fDetector ; // Detector : EMCAL, PHOS, CTS
50   Float_t    fEtaCut[2]; // Eta acceptance
51   Float_t    fPhiCut[2]; // Phi acceptance, radians
52   TRandom3   fRandom;    // Random generator
53
54   //Constrol histograms 
55   TH1F     * fhE;        //! E distribution
56   TH1F     * fhPt;       //! pT distribution
57   TH2F     * fhPhi;      //! phi distribution vs pT, negative
58   TH2F     * fhEta;      //! eta distribution vs pT, negative
59   TH2F     * fhEtaPhi;   //! eta vs phi distribution of positive charge  
60
61
62   AliAnaRandomTrigger(              const AliAnaRandomTrigger & g) ; // cpy ctor
63   AliAnaRandomTrigger & operator = (const AliAnaRandomTrigger & g) ;//cpy assignment
64   
65   ClassDef(AliAnaRandomTrigger,1)
66
67 } ;
68
69
70 #endif //ALIANARANDOMTRIGGER_H
71
72
73