]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/AliFidutialCut.h
New more general analysis implemention for particle identification and correlation...
[u/mrichter/AliRoot.git] / PWG4 / AliFidutialCut.h
1 #ifndef ALIFIDUTIALCUT_H
2 #define ALIFIDUTIALCUT_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice     */
5 /* $Id:  $ */
6
7 /* History of cvs commits:
8  *
9  * $Log$
10  *
11  *
12  */
13
14 //_________________________________________________________________________
15 // Class for track/cluster acceptance selection
16 // Selection in Central barrel, EMCAL and PHOS
17 //
18 //*-- Author: Gustavo Conesa (INFN-LNF)
19
20 // --- ROOT system ---
21 #include <TObject.h> 
22 #include <TArrayF.h> 
23
24  class TString ;
25 class Riostream ;
26 class TLorentzVector ;
27
28 //--- AliRoot system ---
29
30 class AliLog ;
31
32 class AliFidutialCut : public TObject {
33
34 public: 
35
36   AliFidutialCut() ; // ctor
37   AliFidutialCut(const AliFidutialCut & g) ; // cpy ctor
38   AliFidutialCut & operator = (const AliFidutialCut & g) ;//cpy assignment
39   virtual ~AliFidutialCut() ;//virtual dtor
40
41   void InitParameters();
42   
43   void Print(const Option_t * opt)const;
44   
45   Bool_t IsInFidutialCut(TLorentzVector l, TString det) const ;
46   
47   void DoCTSFidutialCut(Bool_t b) {fCTSFidutialCut = b; }
48   void DoEMCALFidutialCut(Bool_t b) {fEMCALFidutialCut = b; }
49   void DoPHOSFidutialCut(Bool_t b) {fPHOSFidutialCut = b; }
50
51   Bool_t GetCTSFidutialCutStatus() const {return fCTSFidutialCut ; }
52   Bool_t GetEMCALFidutialCut() const {return fEMCALFidutialCut ; }
53   Bool_t GetPHOSFidutialCutStatus() const {return fPHOSFidutialCut ; }
54
55   void SetSimpleCTSFidutialCut(const Float_t abseta, const Float_t phimin, const Float_t phimax) ;
56   void SetSimpleEMCALFidutialCut(const Float_t abseta, const Float_t phimin, const Float_t phimax) ;
57   void SetSimplePHOSFidutialCut(const Float_t abseta, const Float_t phimin, const Float_t phimax) ;
58
59   void AddCTSFidCutMaxEtaArray(TArrayF & array)  
60   {  fCTSFidCutMaxEta  = new TArrayF(array) ; } 
61   TArrayF * GetCTSFidCutMaxEtaArray() const   {return   fCTSFidCutMaxEta;}
62   
63   void AddCTSFidCutMaxPhiArray(TArrayF & array)  
64   {  fCTSFidCutMaxPhi  = new TArrayF(array) ; }
65   TArrayF * GetCTSFidCutMaxPhiArray() const   {return   fCTSFidCutMaxPhi;}
66   
67   void AddCTSFidCutMinEtaArray(TArrayF & array)  
68   {  fCTSFidCutMinEta  = new TArrayF(array) ; } 
69   TArrayF * GetCTSFidCutMinEtaArray() const   {return   fCTSFidCutMinEta;}
70  
71   void AddCTSFidCutMinPhiArray(TArrayF & array)  
72   {  fCTSFidCutMinPhi  = new TArrayF(array) ; }
73   TArrayF * GetCTSFidCutMinPhiArray() const   {return   fCTSFidCutMinPhi;}
74   
75   void AddEMCALFidCutMaxEtaArray(TArrayF & array)  
76   {  fEMCALFidCutMaxEta  = new TArrayF(array) ; } 
77   TArrayF * GetEMCALFidCutMaxEtaArray() const   {return   fEMCALFidCutMaxEta;}
78   
79   void AddEMCALFidCutMaxPhiArray(TArrayF & array)  
80   {  fEMCALFidCutMaxPhi  = new TArrayF(array) ; }
81   TArrayF * GetEMCALFidCutMaxPhiArray() const   {return   fEMCALFidCutMaxPhi;}
82  
83   void AddEMCALFidCutMinEtaArray(TArrayF & array)  
84   {  fEMCALFidCutMinEta  = new TArrayF(array) ; } 
85   TArrayF * GetEMCALFidCutMinEtaArray() const   {return   fEMCALFidCutMinEta;}
86   
87   void AddEMCALFidCutMinPhiArray(TArrayF & array)  
88   {  fEMCALFidCutMinPhi  = new TArrayF(array) ; }
89   TArrayF * GetEMCALFidCutMinPhiArray() const   {return   fEMCALFidCutMinPhi;}
90   
91   void AddPHOSFidCutMaxEtaArray(TArrayF & array)  
92   {  fPHOSFidCutMaxEta  = new TArrayF(array) ; } 
93   TArrayF * GetPHOSFidCutMaxEtaArray() const   {return   fPHOSFidCutMaxEta;}
94   
95    void AddPHOSFidCutMaxPhiArray(TArrayF & array)  
96    {  fPHOSFidCutMaxPhi  = new TArrayF(array) ; }
97    TArrayF * GetPHOSFidCutMaxPhiArray() const   {return   fPHOSFidCutMaxPhi;}
98    
99    void AddPHOSFidCutMinEtaArray(TArrayF & array)  
100    {  fPHOSFidCutMinEta  = new TArrayF(array) ; } 
101    TArrayF * GetPHOSFidCutMinEtaArray() const   {return   fPHOSFidCutMinEta;}
102  
103    void AddPHOSFidCutMinPhiArray(TArrayF & array)  
104    {  fPHOSFidCutMinPhi  = new TArrayF(array) ; }
105    TArrayF * GetPHOSFidCutMinPhiArray() const   {return   fPHOSFidCutMinPhi;}
106    
107  
108    
109  protected:
110    
111    //Detector acceptance cuts
112    Bool_t     fEMCALFidutialCut ; // Apply fidutial cuts to EMCAL clusters
113   Bool_t     fPHOSFidutialCut ;// Apply fidutial cuts to PHOS clusters
114   Bool_t     fCTSFidutialCut ;//Apply fidutial cuts to  CTS tracks
115   
116   TArrayF * fCTSFidCutMinEta ; //Take particles in CTS with eta > fCTSFidCutMinEta
117   TArrayF * fCTSFidCutMinPhi ; //Take particles in CTS with phi > fCTSFidCutMinPhi
118   TArrayF * fCTSFidCutMaxEta ; //Take particles in CTS with eta < fCTSFidCutMaxEta
119   TArrayF * fCTSFidCutMaxPhi ; //Take particles in CTS with phi > fCTSFidCutMaxPhi
120   
121   TArrayF * fEMCALFidCutMinEta ; //Take particles in EMCAL with eta > fEMCALFidCutMinEta
122   TArrayF * fEMCALFidCutMinPhi ; //Take particles in EMCAL with phi > fEMCALFidCutMinPhi
123   TArrayF * fEMCALFidCutMaxEta ; //Take particles in EMCAL with eta < fEMCALFidCutMaxEta
124   TArrayF * fEMCALFidCutMaxPhi ; //Take particles in EMCAL with phi > fEMCALFidCutMaxPhi
125   
126   TArrayF * fPHOSFidCutMinEta ; //Take particles in PHOS with eta > fPHOSFidCutMinEta
127   TArrayF * fPHOSFidCutMinPhi ; //Take particles in PHOS with phi > fPHOSFidCutMinPhi
128   TArrayF * fPHOSFidCutMaxEta ; //Take particles in PHOS with eta < fPHOSFidCutMaxEta
129   TArrayF * fPHOSFidCutMaxPhi ; //Take particles in PHOS with phi > fPHOSFidCutMaxPhi
130
131   
132   ClassDef(AliFidutialCut,1)
133 } ;
134
135
136 #endif //ALIFIDUTIALCUT_H
137
138
139