]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/PartCorrBase/AliFidutialCut.h
Changes in frame required to work without AODs output in case of usage of AliAnaCalor...
[u/mrichter/AliRoot.git] / PWG4 / PartCorrBase / AliFidutialCut.h
CommitLineData
1c5acb87 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//_________________________________________________________________________
8// Class for track/cluster acceptance selection
9// Selection in Central barrel, EMCAL and PHOS
5efec477 10//
11// Several selection regions possible for the different
12// detectors
1c5acb87 13//
14//*-- Author: Gustavo Conesa (INFN-LNF)
15
16// --- ROOT system ---
17#include <TObject.h>
18#include <TArrayF.h>
19
20class TString ;
21class TLorentzVector ;
22
23//--- AliRoot system ---
24
1c5acb87 25
26class AliFidutialCut : public TObject {
27
28public:
29
30 AliFidutialCut() ; // ctor
31 AliFidutialCut(const AliFidutialCut & g) ; // cpy ctor
32 AliFidutialCut & operator = (const AliFidutialCut & g) ;//cpy assignment
33 virtual ~AliFidutialCut() ;//virtual dtor
34
35 void InitParameters();
36
37 void Print(const Option_t * opt)const;
5efec477 38 Bool_t CheckFidutialRegion(const TLorentzVector lv, const TArrayF* minphi, const TArrayF* maxphi, const TArrayF* mineta, const TArrayF* maxeta) const ;
39 Bool_t IsInFidutialCut (const TLorentzVector lv, const TString det) const ;
1c5acb87 40
41 void DoCTSFidutialCut(Bool_t b) {fCTSFidutialCut = b; }
42 void DoEMCALFidutialCut(Bool_t b) {fEMCALFidutialCut = b; }
43 void DoPHOSFidutialCut(Bool_t b) {fPHOSFidutialCut = b; }
44
45 Bool_t GetCTSFidutialCutStatus() const {return fCTSFidutialCut ; }
46 Bool_t GetEMCALFidutialCut() const {return fEMCALFidutialCut ; }
47 Bool_t GetPHOSFidutialCutStatus() const {return fPHOSFidutialCut ; }
48
49 void SetSimpleCTSFidutialCut(const Float_t abseta, const Float_t phimin, const Float_t phimax) ;
50 void SetSimpleEMCALFidutialCut(const Float_t abseta, const Float_t phimin, const Float_t phimax) ;
51 void SetSimplePHOSFidutialCut(const Float_t abseta, const Float_t phimin, const Float_t phimax) ;
52
53 void AddCTSFidCutMaxEtaArray(TArrayF & array)
54 { fCTSFidCutMaxEta = new TArrayF(array) ; }
55 TArrayF * GetCTSFidCutMaxEtaArray() const {return fCTSFidCutMaxEta;}
56
57 void AddCTSFidCutMaxPhiArray(TArrayF & array)
58 { fCTSFidCutMaxPhi = new TArrayF(array) ; }
59 TArrayF * GetCTSFidCutMaxPhiArray() const {return fCTSFidCutMaxPhi;}
60
61 void AddCTSFidCutMinEtaArray(TArrayF & array)
62 { fCTSFidCutMinEta = new TArrayF(array) ; }
63 TArrayF * GetCTSFidCutMinEtaArray() const {return fCTSFidCutMinEta;}
64
65 void AddCTSFidCutMinPhiArray(TArrayF & array)
66 { fCTSFidCutMinPhi = new TArrayF(array) ; }
67 TArrayF * GetCTSFidCutMinPhiArray() const {return fCTSFidCutMinPhi;}
68
69 void AddEMCALFidCutMaxEtaArray(TArrayF & array)
70 { fEMCALFidCutMaxEta = new TArrayF(array) ; }
71 TArrayF * GetEMCALFidCutMaxEtaArray() const {return fEMCALFidCutMaxEta;}
72
73 void AddEMCALFidCutMaxPhiArray(TArrayF & array)
74 { fEMCALFidCutMaxPhi = new TArrayF(array) ; }
75 TArrayF * GetEMCALFidCutMaxPhiArray() const {return fEMCALFidCutMaxPhi;}
76
77 void AddEMCALFidCutMinEtaArray(TArrayF & array)
78 { fEMCALFidCutMinEta = new TArrayF(array) ; }
79 TArrayF * GetEMCALFidCutMinEtaArray() const {return fEMCALFidCutMinEta;}
80
81 void AddEMCALFidCutMinPhiArray(TArrayF & array)
82 { fEMCALFidCutMinPhi = new TArrayF(array) ; }
83 TArrayF * GetEMCALFidCutMinPhiArray() const {return fEMCALFidCutMinPhi;}
84
85 void AddPHOSFidCutMaxEtaArray(TArrayF & array)
86 { fPHOSFidCutMaxEta = new TArrayF(array) ; }
87 TArrayF * GetPHOSFidCutMaxEtaArray() const {return fPHOSFidCutMaxEta;}
88
89 void AddPHOSFidCutMaxPhiArray(TArrayF & array)
90 { fPHOSFidCutMaxPhi = new TArrayF(array) ; }
91 TArrayF * GetPHOSFidCutMaxPhiArray() const {return fPHOSFidCutMaxPhi;}
92
93 void AddPHOSFidCutMinEtaArray(TArrayF & array)
94 { fPHOSFidCutMinEta = new TArrayF(array) ; }
95 TArrayF * GetPHOSFidCutMinEtaArray() const {return fPHOSFidCutMinEta;}
96
97 void AddPHOSFidCutMinPhiArray(TArrayF & array)
98 { fPHOSFidCutMinPhi = new TArrayF(array) ; }
99 TArrayF * GetPHOSFidCutMinPhiArray() const {return fPHOSFidCutMinPhi;}
100
101
102
103 protected:
104
105 //Detector acceptance cuts
106 Bool_t fEMCALFidutialCut ; // Apply fidutial cuts to EMCAL clusters
477d6cee 107 Bool_t fPHOSFidutialCut ;// Apply fidutial cuts to PHOS clusters
108 Bool_t fCTSFidutialCut ;//Apply fidutial cuts to CTS tracks
109
110 TArrayF * fCTSFidCutMinEta ; //Take particles in CTS with eta > fCTSFidCutMinEta
111 TArrayF * fCTSFidCutMinPhi ; //Take particles in CTS with phi > fCTSFidCutMinPhi
112 TArrayF * fCTSFidCutMaxEta ; //Take particles in CTS with eta < fCTSFidCutMaxEta
113 TArrayF * fCTSFidCutMaxPhi ; //Take particles in CTS with phi > fCTSFidCutMaxPhi
114
115 TArrayF * fEMCALFidCutMinEta ; //Take particles in EMCAL with eta > fEMCALFidCutMinEta
116 TArrayF * fEMCALFidCutMinPhi ; //Take particles in EMCAL with phi > fEMCALFidCutMinPhi
117 TArrayF * fEMCALFidCutMaxEta ; //Take particles in EMCAL with eta < fEMCALFidCutMaxEta
118 TArrayF * fEMCALFidCutMaxPhi ; //Take particles in EMCAL with phi > fEMCALFidCutMaxPhi
119
120 TArrayF * fPHOSFidCutMinEta ; //Take particles in PHOS with eta > fPHOSFidCutMinEta
121 TArrayF * fPHOSFidCutMinPhi ; //Take particles in PHOS with phi > fPHOSFidCutMinPhi
122 TArrayF * fPHOSFidCutMaxEta ; //Take particles in PHOS with eta < fPHOSFidCutMaxEta
123 TArrayF * fPHOSFidCutMaxPhi ; //Take particles in PHOS with phi > fPHOSFidCutMaxPhi
1c5acb87 124
125 ClassDef(AliFidutialCut,1)
477d6cee 126 } ;
1c5acb87 127
128
129#endif //ALIFIDUTIALCUT_H
130
131
132