AliPhysics  fffcdf3 (fffcdf3)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliV0CutsStrange.h
Go to the documentation of this file.
1 #ifndef ALIV0CUTSSTRANGE_H
2 #define ALIV0CUTSSTRANGE_H
3 
4 #include "AliAODpidUtil.h"
7 #include "AliAODTrack.h"
8 #include "AliESDtrack.h"
9 #include "AliVTrack.h"
10 #include "AliMCEvent.h"
11 #include "AliAODTrack.h"
12 #include "AliAnalysisCuts.h"
13 #include "TH1F.h"
14 #include "TF1.h"
15 #include "TProfile.h"
16 #include "AliAnalysisUtils.h"
17 #include "AliAnalysisManager.h"
18 
19 
20 class AliESDEvent;
21 class AliAODEvent;
23 class AliPIDResponse;
24 class AliKFVertex;
25 class TH1F;
26 class TH2F;
27 class TF1;
28 class TProfile;
29 class AliAnalysisCuts;
30 class iostream;
31 class TList;
32 class AliAnalysisManager;
33 class AliAODMCParticle;
34 
35 
36 class AliV0CutsStrange : public AliAnalysisCuts {
37 
38 public:
39  enum cutIds {
45  };
46 
47  enum V0Cuts {
48  kV0In=0,
58  };
59 
60  AliV0CutsStrange(const char *name="V0ReaderCutsStrange", const char * title="V0ReaderCutsStrange");
63 
64  virtual ~AliV0CutsStrange();
65 
66  Bool_t SetCutIds(TString cutString);
68  Bool_t SetCut(cutIds cutID, Int_t cut);
70 
71  static const char * fgkCutNames[kNCuts];
72 
73  Bool_t InitializeCutsFromCutString(const TString analysisCutSelection);
74 
76  void SetPIDResponse(AliPIDResponse * pidResponse) {fPIDResponse = pidResponse;}
77  AliPIDResponse * GetPIDResponse() { return fPIDResponse;}
78 
80 
81  void PrintCuts();
82  void PrintCutsWithValues();
83 
84  void InitCutHistograms(TString name="",Bool_t preCut = kTRUE);
85  void SetFillCutHistograms(TString name="",Bool_t preCut = kTRUE){if(!fHistograms){InitCutHistograms(name,preCut);};}
87  void FillV0CutIndex(Int_t v0cut){if(fHistoCutIndex)fHistoCutIndex->Fill(v0cut);}
88 
89  void SetV0ReaderName(TString name){fV0ReaderStrangeName = name; return;}
90 
91  Bool_t PhotonIsSelectedMC(TParticle *particle,AliMCEvent *mcEvent,Bool_t checkForConvertedGamma);
92 
93  AliVTrack * GetTrack(AliVEvent * event, Int_t label);
94  AliESDtrack *GetESDTrack(AliESDEvent * event, Int_t label);
95 
96  Bool_t GetPIDpion(AliVTrack *fCurrentTrack);
97  Bool_t GetPIDproton(AliVTrack *fCurrentTrack);
98 
99  // Set Individual Cuts
100  Bool_t SetV0Finder(Int_t v0FinderType);
101  Bool_t SetTPCClusterCut(Int_t clsTPCCut);
102  Bool_t SetProtonPIDCut(Int_t pPIDcut);
103  Bool_t SetPionPIDCut(Int_t pPIDcut);
104 
106  if(onfly == fUseOnFlyV0Finder) return kTRUE;
107  else return kFALSE;
108  }
110 
111  void SetIsQA(Bool_t isQA){fIsQA=isQA;}
112 
113  virtual Bool_t IsSelected(TObject* /*obj*/) {return kTRUE;}
114  virtual Bool_t IsSelected(TList* /*list*/) {return kTRUE;}
115 
116 protected:
118  AliPIDResponse* fPIDResponse; //
119 
121  TObjString* fCutString; // cut number used for analysis
123 
125 
126  //cuts
127 
129  Int_t fUseOnFlyV0FinderSameSign; // int to set same sign pairing
141 
142 
143 
144  // Histograms
145  TH1F* fHistoCutIndex; // bookkeeping for cuts
146  TH2F* fHistodEdxCutsProton; // bookkeeping proton ID
155  TH2F* fHistodEdxCutsPion; // bookkeeping pion ID
164 
165  Bool_t fPreSelCut; // Flag for preselection cut used in V0Reader
166 
167 private:
168 
169  ClassDef(AliV0CutsStrange,2)
170 };
171 
172 #endif
TH2F * fHistoTPCdEdxSigmaPionAfter
Double_t fPIDTOFnSigmaProtonLow
double Double_t
Definition: External.C:58
void FillV0CutIndex(Int_t v0cut)
Definition: External.C:236
const char * title
Definition: MakeQAPdf.C:27
AliPIDResponse * fPIDResponse
TH2F * fHistoTPCdEdxSigmaPionBefore
TH2F * fHistoTPCdEdxProtonBefore
Double_t fPIDTPCnSigmaProtonUp
Bool_t SetTPCClusterCut(Int_t clsTPCCut)
void SetPIDResponse(AliPIDResponse *pidResponse)
Double_t fPIDTPCnSigmaPionUp
Bool_t SetCutIds(TString cutString)
TList * GetCutHistograms()
Double_t fPIDTPCnSigmaPionLow
Bool_t GetPIDproton(AliVTrack *fCurrentTrack)
TH2F * fHistoTOFdEdxProtonAfter
Bool_t GetPIDpion(AliVTrack *fCurrentTrack)
TObjString * fCutString
TH2F * fHistoTOFdEdxProtonBefore
AliVTrack * GetTrack(AliVEvent *event, Int_t label)
void SetIsQA(Bool_t isQA)
TH2F * fHistoTOFdEdxSigmaProtonBefore
virtual Bool_t IsSelected(TList *)
static const char * fgkCutNames[kNCuts]
void InitCutHistograms(TString name="", Bool_t preCut=kTRUE)
Bool_t SetPionPIDCut(Int_t pPIDcut)
virtual Bool_t IsSelected(TObject *)
Double_t fPIDTOFnSigmaPionUp
Bool_t SelectV0Finder(Bool_t onfly)
int Int_t
Definition: External.C:63
TH2F * fHistoTPCdEdxSigmaProtonAfter
Double_t fPIDTOFnSigmaPionLow
TH2F * fHistoTPCdEdxSigmaProtonBefore
Bool_t PhotonIsSelectedMC(TParticle *particle, AliMCEvent *mcEvent, Bool_t checkForConvertedGamma)
AliPIDResponse * GetPIDResponse()
Int_t fCuts[kNCuts]
Double_t fUseCorrectedTPCClsInfo
Bool_t SetProtonPIDCut(Int_t pPIDcut)
TH2F * fHistoTPCdEdxProtonAfter
AliV0CutsStrange & operator=(const AliV0CutsStrange &)
Double_t fPIDTPCnSigmaProtonLow
Double_t fPIDTOFnSigmaProtonUp
void SetV0ReaderName(TString name)
TH2F * fHistoTOFdEdxPionBefore
Bool_t SetCut(cutIds cutID, Int_t cut)
Bool_t SetV0Finder(Int_t v0FinderType)
bool Bool_t
Definition: External.C:53
void SetFillCutHistograms(TString name="", Bool_t preCut=kTRUE)
AliV0CutsStrange(const char *name="V0ReaderCutsStrange", const char *title="V0ReaderCutsStrange")
TH2F * fHistoTPCdEdxPionBefore
TH2F * fHistoTOFdEdxSigmaPionAfter
Bool_t InitializeCutsFromCutString(const TString analysisCutSelection)
TH2F * fHistoTOFdEdxSigmaPionBefore
AliESDtrack * GetESDTrack(AliESDEvent *event, Int_t label)
TH2F * fHistoTOFdEdxSigmaProtonAfter
TString fV0ReaderStrangeName