AliPhysics  a3b326c (a3b326c)
AliConversionTrackCuts.h
Go to the documentation of this file.
1 #ifndef ALICONVERSIONTRACKCUTS_H
2 #define ALICONVERSIONTRACKCUTS_H
3 
4 // Class handling all kinds of selection cuts for Gamma Conversion analysis
5 // Authors: (this code is mostly copied from AliRsnTrackQuality) adapted by Svein Lindal *
6 
7 class TH2F;
8 class AliESDtrackCuts;
9 class TList;
10 class AliVEvent;
11 class THn;
12 #include "AliAODTrack.h"
13 #include "AliESDtrack.h"
14 #include "AliAnalysisCuts.h"
15 
16 using namespace std;
17 
18 class AliConversionTrackCuts : public AliAnalysisCuts {
19 
20 public:
21 
22  enum CTCuts_t {
23  kPreCut = 0,
31  kNCuts
32  };
33 
34  // enum trackVal {
35  // kPt = 0,
36  // kPhi,
37  // kEta,
38  // kNVar
39  // };
40  static const char * fgkCutNames[kNCuts];
41 
42  Bool_t IsSelected(TObject * object );
43  Bool_t IsSelected(TList * /*list*/) { return kFALSE; }
44  Bool_t AcceptTrack(AliAODTrack * track);
45  Bool_t AcceptTrack(AliESDtrack * track);
46  Bool_t GetDCA(const AliAODTrack * track, Double_t dca[2]);
47  Bool_t GetDCA(const AliESDtrack * track, Double_t dca[2]);
48 
49 
50  void DeleteTracks() { fOwnedTracks.Delete(); }
51  void FillDCAHist(Float_t dcaz, Float_t dcaxy, AliVTrack * track);
55 
56  void SetEsdTrackCuts(AliESDtrackCuts * trackcuts) { fEsdTrackCuts = trackcuts; }
57  void SetDCAZmax(Double_t value) { fDCAZmax = value*value; }
58  void SetDCAXYmax(Double_t value) { fDCAXYmax = value*value; }
59  void SetFilterBit(Int_t value) { fFilterBit = value; }
60  void SetEvent(AliVEvent * event) { fEvent = event; }
61  void CreateTrackEff(Bool_t create = kTRUE) { fkCreateTrackEff = create; }
62 
63  TList * CreateHistograms();
64  void FillHistograms(Int_t cutIndex, AliVTrack * track);
65  virtual void Print(const Option_t *option = "") const;
66 
67 protected :
68 
69  void DefineESDCuts();
70 
71 
72  AliESDtrackCuts * fEsdTrackCuts; //main cut
73  AliESDtrackCuts * fEsdTrackCutsExtra1; //global tracks cut
74  AliESDtrackCuts * fEsdTrackCutsExtra2; //others
75 
76  AliVEvent * fEvent;
77 
78 
79 
81 
82  Double_t fDCAZmax; // maximum value for longitudinal DCA
83  Double_t fDCAXYmax; // maximum xy value for dca
84 
86 
88 
90  //TH2F * fhPt;
91  //TH2F * fhPhiPt;
98  THn * fhTrackEff;
100 
102 
103  AliConversionTrackCuts(const AliConversionTrackCuts&); // not implemented
104  AliConversionTrackCuts& operator=(const AliConversionTrackCuts&); // not implemented
105 
106  ClassDef(AliConversionTrackCuts,5)
107 };
108 
109 #endif
void Print(std::ostream &o, const char *name, Double_t dT, Double_t dVM, Double_t alldT, Double_t alldVM)
Definition: PlotSysInfo.C:121
double Double_t
Definition: External.C:58
Definition: External.C:236
const char * title
Definition: MakeQAPdf.C:27
void SetDCAXYmax(Double_t value)
AliESDtrackCuts * fEsdTrackCuts
int Int_t
Definition: External.C:63
float Float_t
Definition: External.C:68
void SetEsdTrackCuts(AliESDtrackCuts *trackcuts)
void SetFilterBit(Int_t value)
void CreateTrackEff(Bool_t create=kTRUE)
AliESDtrackCuts * fEsdTrackCutsExtra2
const char Option_t
Definition: External.C:48
bool Bool_t
Definition: External.C:53
void SetEvent(AliVEvent *event)
AliESDtrackCuts * fEsdTrackCutsExtra1
void SetDCAZmax(Double_t value)