AliPhysics  96389ab (96389ab)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliRDHFCuts.h
Go to the documentation of this file.
1 #ifndef ALIRDHFCUTS_H
2 #define ALIRDHFCUTS_H
3 /* Copyright(c) 1998-2010, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice */
5 
6 /* $Id$ */
7 
8 //***********************************************************
12 //***********************************************************
13 
14 #include <TString.h>
15 
16 #include "AliAnalysisCuts.h"
17 #include "AliESDtrackCuts.h"
18 #include "AliAODPidHF.h"
19 #include "AliAODEvent.h"
20 #include "AliVEvent.h"
21 
22 class AliAODTrack;
23 class AliAODRecoDecayHF;
24 class AliESDVertex;
25 class TF1;
26 class TFormula;
27 
28 class AliRDHFCuts : public AliAnalysisCuts
29 {
30  public:
31 
38 
39  AliRDHFCuts(const Char_t* name="RDHFCuts", const Char_t* title="");
40 
41  virtual ~AliRDHFCuts();
42 
43  AliRDHFCuts(const AliRDHFCuts& source);
44  AliRDHFCuts& operator=(const AliRDHFCuts& source);
45 
46  virtual void SetStandardCutsPP2010() {return;}
47  virtual void SetStandardCutsPbPb2010() {return;}
48  virtual void SetStandardCutsPbPb2011() {return;}
49 
50 
51  void SetMinCentrality(Float_t minCentrality=0.) {fMinCentrality=minCentrality;}
52  void SetMaxCentrality(Float_t maxCentrality=100.) {fMaxCentrality=maxCentrality;}
53  void SetMinVtxType(Int_t type=3) {fMinVtxType=type;}
54  void SetUseEventsWithOnlySPDVertex(Bool_t flag=kTRUE){
55  if(flag) fMinVtxType=1;
56  else fMinVtxType=3;
57  }
58  void SetMinVtxContr(Int_t contr=1) {fMinVtxContr=contr;}
59  void SetMaxVtxRdChi2(Float_t chi2=1e6) {fMaxVtxRedChi2=chi2;}
60  void SetMaxVtxZ(Float_t z=1e6) {fMaxVtxZ=z;}
61  void SetMinSPDMultiplicity(Int_t mult=0) {fMinSPDMultiplicity=mult;}
62 
63  void SetTriggerMask(ULong64_t mask=0) {fTriggerMask=mask;}
64  void SetUseOnlyOneTrigger(Bool_t onlyOne) {fUseOnlyOneTrigger=onlyOne;}
65  ULong64_t GetTriggerMask() {return fTriggerMask;}
67 
68  void SetUseAnyTrigger() {fTriggerMask=AliVEvent::kAny;}
70  fTriggerMask|=AliVEvent::kMB;
71  fUseOnlyOneTrigger=kFALSE;
72  }
74  fTriggerMask=AliVEvent::kMB;
75  fUseOnlyOneTrigger=kFALSE;
76  }
78  fTriggerMask=AliVEvent::kMB;
79  fUseOnlyOneTrigger=kTRUE;
80  }
82  fTriggerMask|=AliVEvent::kCentral;
83  fUseOnlyOneTrigger=kFALSE;
84  }
86  fTriggerMask=AliVEvent::kCentral;
87  fUseOnlyOneTrigger=kFALSE;
88  }
90  fTriggerMask=AliVEvent::kCentral;
91  fUseOnlyOneTrigger=kTRUE;
92  }
94  fTriggerMask|=AliVEvent::kSemiCentral;
95  fUseOnlyOneTrigger=kFALSE;
96  }
98  fTriggerMask=AliVEvent::kSemiCentral;
99  fUseOnlyOneTrigger=kFALSE;
100  }
102  fTriggerMask=AliVEvent::kSemiCentral;
103  fUseOnlyOneTrigger=kTRUE;
104  }
106  fTriggerMask|=(AliVEvent::kEMCEJE|AliVEvent::kEMCEGA);
107  fUseOnlyOneTrigger=kFALSE;
108  }
110  fTriggerMask=(AliVEvent::kEMCEJE|AliVEvent::kEMCEGA);
111  fUseOnlyOneTrigger=kFALSE;
112  }
114  fTriggerMask=(AliVEvent::kEMCEJE|AliVEvent::kEMCEGA);
115  fUseOnlyOneTrigger=kTRUE;
116  }
117  //
120  fTriggerMask=AliVEvent::kMB;
121  fTriggerClass[0]="CINT1";
122  fUseOnlyOneTrigger=kFALSE;
123  }
125  fTriggerMask=AliVEvent::kINT7;
126  fTriggerClass[0]="CINT7";
127  fUseOnlyOneTrigger=kFALSE;
128  }
130  fTriggerMask=AliVEvent::kINT8;
131  fTriggerClass[0]="CINT8";
132  fUseOnlyOneTrigger=kFALSE;
133  }
135  fTriggerMask=AliVEvent::kEMC7;
136  fTriggerClass[0]="CEMC7";
137  fUseOnlyOneTrigger=kFALSE;
138  }
140  fTriggerMask=AliVEvent::kEMC8;
141  fTriggerClass[0]="CEMC8";
142  fUseOnlyOneTrigger=kFALSE;
143  }
145  fTriggerMask=AliVEvent::kEMCEJE;
146  fTriggerClass[0]="CEMC7EJE";
147  fUseOnlyOneTrigger=kFALSE;
148  }
150  fTriggerMask=AliVEvent::kEMCEJE;
151  fTriggerClass[0]="CEMC8EJE";
152  fUseOnlyOneTrigger=kFALSE;
153  }
155  fTriggerMask=AliVEvent::kEMCEGA;
156  fTriggerClass[0]="CEMC7EGA";
157  fUseOnlyOneTrigger=kFALSE;
158  }
160  fTriggerMask=AliVEvent::kEMCEGA;
161  fTriggerClass[0]="CEMC8EGA";
162  fUseOnlyOneTrigger=kFALSE;
163  }
165  fTriggerMask=AliVEvent::kSPI7;
166  fTriggerClass[0]="CSPI7";
167  fUseOnlyOneTrigger=kFALSE;
168  }
170  fTriggerMask=AliVEvent::kSPI;
171  fTriggerClass[0]="CSPI8";
172  fUseOnlyOneTrigger=kFALSE;
173  }
175  fTriggerMask=AliVEvent::kHighMult;
176  fTriggerClass[0]="CSHM7";
177  fUseOnlyOneTrigger=kFALSE;
178  }
180  fTriggerMask=AliVEvent::kHighMult;
181  fTriggerClass[0]="CSHM8";
182  fUseOnlyOneTrigger=kFALSE;
183  }
184 
188  void SetCutOnzVertexSPD(Int_t opt) {
189  if(opt>=0 && opt<=2) fCutOnzVertexSPD=opt;
190  else AliError("Wrong option for cut on zVertexSPD");
191  }
192  void SetTriggerClass(TString trclass0, TString trclass1="") {fTriggerClass[0]=trclass0; fTriggerClass[1]=trclass1;}
195  void SetVarsForOpt(Int_t nVars,Bool_t *forOpt);
197  void SetGlobalIndex(Int_t nVars,Int_t nptBins){fnVars=nVars; fnPtBins=nptBins; SetGlobalIndex();}
198  void SetVarNames(Int_t nVars,TString *varNames,Bool_t *isUpperCut);
199  void SetPtBins(Int_t nPtBinLimits,Float_t *ptBinLimits);
200  void SetCuts(Int_t nVars,Int_t nPtBins,Float_t** cutsRD);
201  void SetCuts(Int_t glIndex, Float_t* cutsRDGlob);
202  void AddTrackCuts(const AliESDtrackCuts *cuts)
203  {delete fTrackCuts; fTrackCuts=new AliESDtrackCuts(*cuts); return;}
204  void SetUsePID(Bool_t flag=kTRUE) {fUsePID=flag; return;}
205  void SetUseAOD049(Bool_t flag=kTRUE) {fUseAOD049=flag; return;}
206  void SetKinkRejection(Bool_t flag=kTRUE) {fKinkReject=flag; return;}
207  void SetUseTrackSelectionWithFilterBits(Bool_t flag=kTRUE){
208  fUseTrackSelectionWithFilterBits=flag; return;}
209  void SetUseCentrality(Int_t flag=1);
210  void SetPidHF(AliAODPidHF* pidObj) {
211  if(fPidHF) delete fPidHF;
212  fPidHF=new AliAODPidHF(*pidObj);
213  }
214  void SetRemoveDaughtersFromPrim(Bool_t removeDaughtersPrim) {fRemoveDaughtersFromPrimary=removeDaughtersPrim;}
215  void SetMinPtCandidate(Double_t ptCand=-1.) {fMinPtCand=ptCand; return;}
216  void SetMaxPtCandidate(Double_t ptCand=1000.) {fMaxPtCand=ptCand; return;}
217  void SetMaxRapidityCandidate(Double_t ycand) {fMaxRapidityCand=ycand; return;}
218  void SetOptPileup(Int_t opt=0){
220  fOptPileup=opt;
221  }
222  void SetHistoForCentralityFlattening(TH1F *h,Double_t minCentr,Double_t maxCentr,Double_t centrRef=0.,Int_t switchTRand=0);
223  void ConfigurePileupCuts(Int_t minContrib=3, Float_t minDz=0.6){
224  fMinContrPileup=minContrib;
225  fMinDzPileup=minDz;
226  }
227  void SetMinCrossedRowsTPCPtDep(const char *rows="");
230 
231  AliAODPidHF* GetPidHF() const {return fPidHF;}
232  Float_t *GetPtBinLimits() const {return fPtBinLimits;}
233  Int_t GetNPtBins() const {return fnPtBins;}
234  Int_t GetNVars() const {return fnVars;}
235  TString *GetVarNames() const {return fVarNames;}
236  Bool_t *GetVarsForOpt() const {return fVarsForOpt;}
237  Int_t GetNVarsForOpt() const {return fnVarsForOpt;}
238  const Float_t *GetCuts() const {return fCutsRD;}
239  void GetCuts(Float_t**& cutsRD) const;
240  Float_t GetCutValue(Int_t iVar,Int_t iPtBin) const;
241  Double_t GetMaxVtxZ() const {return fMaxVtxZ;}
242  Float_t GetCentrality(AliAODEvent* aodEvent){return GetCentrality(aodEvent,(AliRDHFCuts::ECentrality)fUseCentrality);}
243  Float_t GetCentrality(AliAODEvent* aodEvent, AliRDHFCuts::ECentrality estimator);
244  Float_t GetCentralityOldFramework(AliAODEvent* aodEvent, AliRDHFCuts::ECentrality estimator);
245  Bool_t *GetIsUpperCut() const {return fIsUpperCut;}
246  AliESDtrackCuts *GetTrackCuts() const {return fTrackCuts;}
247  virtual AliESDtrackCuts *GetTrackCutsSoftPi() const {return 0;}
248  virtual AliESDtrackCuts *GetTrackCutsV0daughters() const {return 0;}
249  virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d,Float_t *vars,Int_t nvars,Int_t *pdgdaughters) = 0;
250  virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d,Float_t *vars,Int_t nvars,Int_t *pdgdaughters,AliAODEvent * /*aod*/)
251  {return GetCutVarsForOpt(d,vars,nvars,pdgdaughters);}
252  Int_t GetGlobalIndex(Int_t iVar,Int_t iPtBin) const;
253  void GetVarPtIndex(Int_t iGlob, Int_t& iVar, Int_t& iPtBin) const;
254  Bool_t GetIsUsePID() const {return fUsePID;}
255  Bool_t GetUseAOD049() const {return fUseAOD049;}
256  Bool_t GetUseKinkRejection() const {return fKinkReject;}
258  if(fMinVtxType==1 || fMinVtxType==2) return kTRUE;
259  return kFALSE;
260  }
263  Bool_t GetOptPileUp() const {return fOptPileup;}
264  Int_t GetUseCentrality() const {return fUseCentrality;}
265  Float_t GetMinCentrality() const {return fMinCentrality;}
266  Float_t GetMaxCentrality() const {return fMaxCentrality;}
267  Double_t GetMinPtCandidate() const {return fMinPtCand;}
268  Double_t GetMaxPtCandidate() const {return fMaxPtCand;}
274  Bool_t IsSelected(TObject *obj) {return IsSelected(obj,AliRDHFCuts::kAll);}
275  Bool_t IsSelected(TList *list) {if(!list) return kTRUE; return kFALSE;}
276  Int_t IsEventSelectedInCentrality(AliVEvent *event);
277  Bool_t IsEventSelectedForCentrFlattening(Float_t centvalue);
278  Bool_t IsEventSelected(AliVEvent *event);
279  Bool_t AreDaughtersSelected(AliAODRecoDecayHF *rd) const;
280  Bool_t IsDaughterSelected(AliAODTrack *track,const AliESDVertex *primary,AliESDtrackCuts *cuts) const;
281  virtual Int_t IsSelectedPID(AliAODRecoDecayHF * /*rd*/) {return 1;}
282  void SetupPID(AliVEvent *event);
283 
284  virtual Int_t IsSelected(TObject* obj,Int_t selectionLevel) = 0;
285  virtual Int_t IsSelected(TObject* obj,Int_t selectionLevel,AliAODEvent* /*aod*/)
286  {return IsSelected(obj,selectionLevel);}
287  Int_t PtBin(Double_t pt) const;
288  virtual void PrintAll()const;
289  void PrintTrigger() const;
290 
291  virtual Bool_t IsInFiducialAcceptance(Double_t /*pt*/,Double_t /*y*/) const {return kTRUE;}
292 
293  void SetWhyRejection(Int_t why) {fWhyRejection=why; return;}
294  Int_t GetWhyRejection() const {return fWhyRejection;}
295  UInt_t GetEventRejectionBitMap() const {return fEvRejectionBits;}
297  return fEvRejectionBits&(1<<kNotSelTrigger);
298  }
300  return fEvRejectionBits&(1<<kNoVertex);
301  }
304  }
306  return fEvRejectionBits&(1<<kZVtxOutFid);
307  }
308  Bool_t IsEventRejectedDueToPileup() const {
309  return fEvRejectionBits&(1<<kPileup);
310  }
313  }
316  }
319  }
322  }
323 
324 
325  void SetFixRefs(Bool_t fix=kTRUE) {fFixRefs=fix; return;}
326  void SetUsePhysicsSelection(Bool_t use=kTRUE){fUsePhysicsSelection=use; return;}
327  Bool_t GetUsePhysicsSelection() const { return fUsePhysicsSelection; }
328 
329 
330 
331  Bool_t CompareCuts(const AliRDHFCuts *obj) const;
332  void MakeTable()const;
333 
334  Int_t GetIsSelectedCuts() const {return fIsSelectedCuts;}
335  Int_t GetIsSelectedPID() const {return fIsSelectedPID;}
336 
337  void SetUseMCVertex() { fUseMCVertex=kTRUE; }
338  Bool_t GetUseMCVertex() const { return fUseMCVertex; }
339 
340  Bool_t RecalcOwnPrimaryVtx(AliAODRecoDecayHF *d,AliAODEvent *aod) const;
341  Bool_t SetMCPrimaryVtx(AliAODRecoDecayHF *d,AliAODEvent *aod) const;
342  void CleanOwnPrimaryVtx(AliAODRecoDecayHF *d,AliAODEvent *aod,AliAODVertex *origownvtx) const;
343 
345  { if(fWhyRejection==0) {return kTRUE;} else {return kFALSE;} }
346 
347  void SetKeepSignalMC() {fKeepSignalMC=kTRUE; return;}
348 
350  void SetSelectCandTrackSPDFirst( Bool_t flag, Double_t ptmax )
353  Double_t IsMaxCandTrackSPDFirst() const { return fMaxPtCandTrackSPDFirst; }
354 
355  Bool_t CheckPtDepCrossedRows(TString rows,Bool_t print=kFALSE) const;
356 
357 
358 
359  protected:
360 
361  void SetNPtBins(Int_t nptBins){fnPtBins=nptBins;}
362  void SetNVars(Int_t nVars){fnVars=nVars;}
363 
364  Bool_t IsSignalMC(AliAODRecoDecay *d,AliAODEvent *aod,Int_t pdg) const;
365  Bool_t RecomputePrimaryVertex(AliAODEvent* event) const;
366 
368  Int_t fMinVtxType;
369  Int_t fMinVtxContr;
370  Float_t fMaxVtxRedChi2;
371  Float_t fMaxVtxZ;
373  ULong64_t fTriggerMask;
375  TString fTriggerClass[2];
376  AliESDtrackCuts *fTrackCuts;
378  Int_t fnPtBins;
381  Float_t* fPtBinLimits; //[fnPtBinLimits] pt bins
382  Int_t fnVars;
383  TString *fVarNames; //[fnVars] names of the variables
384  Int_t fnVarsForOpt;
385  Bool_t *fVarsForOpt; //[fnVars] kTRUE for vars to be used in optimization
386  Int_t fGlobalIndex;
387  Float_t *fCutsRD; //[fGlobalIndex] the cuts values
388  Bool_t *fIsUpperCut; //[fnVars] use > or < to select
389  Bool_t fUsePID;
390  Bool_t fUseAOD049;
393  UInt_t fEvRejectionBits; //bit map storing the full info about event rejection
395  Bool_t fUseMCVertex;
397  Int_t fOptPileup;
399  Float_t fMinDzPileup;
401  Float_t fMinCentrality;
406  Float_t fMaxCentrality;
407  Bool_t fFixRefs;
410  Double_t fMinPtCand;
411  Double_t fMaxPtCand;
412  Double_t fMaxRapidityCand;
413  Bool_t fKeepSignalMC;
421  Bool_t fKinkReject;
429 
430 
432  ClassDef(AliRDHFCuts,36);
433 };
435 
436 #endif
Float_t GetMaxCentrality() const
Definition: AliRDHFCuts.h:266
Bool_t IsEventRejectedDueToCentrality() const
Definition: AliRDHFCuts.h:311
void SetNPtBins(Int_t nptBins)
Definition: AliRDHFCuts.h:361
Int_t fIsSelectedCuts
fix the daughter track references
Definition: AliRDHFCuts.h:408
virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d, Float_t *vars, Int_t nvars, Int_t *pdgdaughters)=0
Int_t pdg
Bool_t IsEventSelectedForCentrFlattening(Float_t centvalue)
void ResetMaskAndEnableCentralTrigger()
Definition: AliRDHFCuts.h:85
Bool_t IsEventRejectedDueToZVertexOutsideFiducialRegion() const
Definition: AliRDHFCuts.h:305
virtual AliESDtrackCuts * GetTrackCutsV0daughters() const
Definition: AliRDHFCuts.h:248
Float_t fMinDzPileup
min. n. of tracklets in pileup vertex
Definition: AliRDHFCuts.h:399
Double_t fMaxPtCandTrackSPDFirst
flag to select the track kFirst criteria for pt < ptlimit
Definition: AliRDHFCuts.h:415
Int_t GetNVars() const
Definition: AliRDHFCuts.h:234
void SetUseOnlyOneTrigger(Bool_t onlyOne)
Definition: AliRDHFCuts.h:64
Bool_t IsEventRejectedDueToNotRecoVertex() const
Definition: AliRDHFCuts.h:299
Int_t fWhyRejection
PID for heavy flavours manager.
Definition: AliRDHFCuts.h:392
Int_t GetIsSelectedPID() const
Definition: AliRDHFCuts.h:335
Float_t GetMinRatioSignalNOverCrossRowsTPC() const
Definition: AliRDHFCuts.h:273
void SetRemoveTrackletOutliers(Bool_t opt)
Definition: AliRDHFCuts.h:187
ULong64_t GetTriggerMask()
Definition: AliRDHFCuts.h:65
Int_t fCutOnzVertexSPD
flag to apply cut on tracklets vs. centrality for 2011 data
Definition: AliRDHFCuts.h:420
void ResetMaskAndEnableSemiCentralTrigger()
Definition: AliRDHFCuts.h:97
virtual AliESDtrackCuts * GetTrackCutsSoftPi() const
Definition: AliRDHFCuts.h:247
void SetUseAOD049(Bool_t flag=kTRUE)
Definition: AliRDHFCuts.h:205
void SetFixRefs(Bool_t fix=kTRUE)
Definition: AliRDHFCuts.h:325
void SetUseMCVertex()
Definition: AliRDHFCuts.h:337
void SetupPID(AliVEvent *event)
Bool_t IsSignalMC(AliAODRecoDecay *d, AliAODEvent *aod, Int_t pdg) const
void SetMinRatioSignalNOverCrossRowsTPC(Float_t ratio=0.)
Definition: AliRDHFCuts.h:229
const char * title
Definition: MakeQAPdf.C:26
Bool_t GetOptPileUp() const
Definition: AliRDHFCuts.h:263
virtual void SetStandardCutsPbPb2010()
Definition: AliRDHFCuts.h:47
Bool_t fUseMCVertex
flag to switch on the removal of duaghters from the primary vertex computation
Definition: AliRDHFCuts.h:395
Bool_t fUseOnlyOneTrigger
trigger mask
Definition: AliRDHFCuts.h:374
Int_t GetIsSelectedCuts() const
Definition: AliRDHFCuts.h:334
void SetMaxVtxZ(Float_t z=1e6)
Definition: AliRDHFCuts.h:60
Int_t IsEventSelectedInCentrality(AliVEvent *event)
Bool_t * fIsUpperCut
Definition: AliRDHFCuts.h:388
Bool_t SetMCPrimaryVtx(AliAODRecoDecayHF *d, AliAODEvent *aod) const
Bool_t fRemoveDaughtersFromPrimary
Definition: AliRDHFCuts.h:394
void SetHistoForCentralityFlattening(TH1F *h, Double_t minCentr, Double_t maxCentr, Double_t centrRef=0., Int_t switchTRand=0)
void SetUseMBTriggerExclusively()
Definition: AliRDHFCuts.h:77
void ConfigurePileupCuts(Int_t minContrib=3, Float_t minDz=0.6)
Definition: AliRDHFCuts.h:223
void SetUseCentrality(Int_t flag=1)
const char * GetMinCrossedRowsTPCPtDep() const
Definition: AliRDHFCuts.h:271
Float_t * fPtBinLimits
"number of limits", that is fnPtBins+1
Definition: AliRDHFCuts.h:381
void SetUseEMCALGA8TriggerPP2012()
Definition: AliRDHFCuts.h:159
void SetWhyRejection(Int_t why)
Definition: AliRDHFCuts.h:293
Int_t fMinVtxContr
0: not cut; 1: SPDZ; 2: SPD3D; 3: Tracks
Definition: AliRDHFCuts.h:369
void SetCutOnzVertexSPD(Int_t opt)
Definition: AliRDHFCuts.h:188
void EnableMBTrigger()
Definition: AliRDHFCuts.h:69
void SetGlobalIndex(Int_t nVars, Int_t nptBins)
Definition: AliRDHFCuts.h:197
Float_t fMaxVtxRedChi2
minimum vertex contributors
Definition: AliRDHFCuts.h:370
void SetUseEMCAL7TriggerPP2012()
Definition: AliRDHFCuts.h:134
void SetUseCentralTriggerExclusively()
Definition: AliRDHFCuts.h:89
TList * list
const Float_t * GetCuts() const
Definition: AliRDHFCuts.h:238
Bool_t IsEventRejectedDueToVertexContributors() const
Definition: AliRDHFCuts.h:302
Bool_t IsSelected(TList *list)
Definition: AliRDHFCuts.h:275
void SetMinCrossedRowsTPCPtDep(const char *rows="")
void SetNVars(Int_t nVars)
Definition: AliRDHFCuts.h:362
void SetUseSPI7TriggerPP2012()
Definition: AliRDHFCuts.h:164
Float_t fCutRatioClsOverCrossRowsTPC
histogram with reference centrality distribution for centrality distribution flattening ...
Definition: AliRDHFCuts.h:425
Bool_t GetUseOnlyOneTrigger()
Definition: AliRDHFCuts.h:66
Int_t GetWhyRejection() const
Definition: AliRDHFCuts.h:294
Int_t fMinVtxType
cuts on the event
Definition: AliRDHFCuts.h:368
void SetUseAnyTrigger()
Definition: AliRDHFCuts.h:68
Double_t fMaxRapidityCand
minimum pt of the candidate
Definition: AliRDHFCuts.h:412
void EnableSemiCentralTrigger()
Definition: AliRDHFCuts.h:93
Bool_t IsEventRejectedDueToTRKV0CentralityCorrel() const
Definition: AliRDHFCuts.h:317
TString * GetVarNames() const
Definition: AliRDHFCuts.h:235
void SetGlobalIndex()
Definition: AliRDHFCuts.h:196
AliRDHFCuts & operator=(const AliRDHFCuts &source)
Float_t GetCutValue(Int_t iVar, Int_t iPtBin) const
Int_t fUseCentrality
min deltaz between main and pileup vertices
Definition: AliRDHFCuts.h:400
Float_t GetMinCentrality() const
Definition: AliRDHFCuts.h:265
Bool_t fUsePID
Definition: AliRDHFCuts.h:389
void SetMaxDifferenceTRKV0Centraltity(Double_t maxd=5.)
Definition: AliRDHFCuts.h:185
Double_t GetMaxVtxZ() const
Definition: AliRDHFCuts.h:241
void SetSelectCandTrackSPDFirst(Bool_t flag, Double_t ptmax)
Flag and pt-maximum to check if the candidate daughters fulfill the kFirst criteria.
Definition: AliRDHFCuts.h:350
void SetUsePhysicsSelection(Bool_t use=kTRUE)
Definition: AliRDHFCuts.h:326
virtual Int_t IsSelectedPID(AliAODRecoDecayHF *)
Definition: AliRDHFCuts.h:281
void SetPidHF(AliAODPidHF *pidObj)
see enum below
Definition: AliRDHFCuts.h:210
void SetUseEMCALJET7TriggerPP2012()
Definition: AliRDHFCuts.h:144
AliAODPidHF * GetPidHF() const
Definition: AliRDHFCuts.h:231
void SetKinkRejection(Bool_t flag=kTRUE)
Definition: AliRDHFCuts.h:206
Bool_t fRemoveTrackletOutliers
Max. difference between TRK and V0 centrality (remove TPC pileup for PbPb 2011)
Definition: AliRDHFCuts.h:419
void SetUseCentralityFlatteningInMC(Bool_t opt)
Definition: AliRDHFCuts.h:270
void SetMaxPtCandidate(Double_t ptCand=1000.)
Definition: AliRDHFCuts.h:216
AliRDHFCuts(const Char_t *name="RDHFCuts", const Char_t *title="")
Definition: AliRDHFCuts.cxx:60
void SetMinSPDMultiplicity(Int_t mult=0)
Definition: AliRDHFCuts.h:61
ULong64_t fTriggerMask
SPD multiplicity.
Definition: AliRDHFCuts.h:373
void SetMinVtxContr(Int_t contr=1)
Definition: AliRDHFCuts.h:58
void SetUseInt8TriggerPP2012()
Definition: AliRDHFCuts.h:129
void SetUseEMCALTriggerExclusively()
Definition: AliRDHFCuts.h:113
Bool_t fUseTrackSelectionWithFilterBits
flag to reject kink daughters
Definition: AliRDHFCuts.h:422
Bool_t * GetIsUpperCut() const
Definition: AliRDHFCuts.h:245
void SetCuts(Int_t nVars, Int_t nPtBins, Float_t **cutsRD)
Int_t fnVarsForOpt
Definition: AliRDHFCuts.h:384
void ResetMaskAndEnableMBTrigger()
Definition: AliRDHFCuts.h:73
void SetMinCentrality(Float_t minCentrality=0.)
Definition: AliRDHFCuts.h:51
virtual ~AliRDHFCuts()
Bool_t CountEventForNormalization() const
Definition: AliRDHFCuts.h:344
const Double_t ptmax
TString * fVarNames
number of cut vars for candidates
Definition: AliRDHFCuts.h:383
Double_t fMaxPtCand
minimum pt of the candidate
Definition: AliRDHFCuts.h:411
Bool_t * GetVarsForOpt() const
Definition: AliRDHFCuts.h:236
AliESDtrackCuts * fTrackCuts
quality cuts on the daughter tracks
Definition: AliRDHFCuts.h:377
void SetUseInt7TriggerPP2012()
Definition: AliRDHFCuts.h:124
void MakeTable() const
void ResetMaskAndEnableEMCALTrigger()
Definition: AliRDHFCuts.h:109
void SetUseSPI8TriggerPP2012()
Definition: AliRDHFCuts.h:169
Bool_t IsDaughterSelected(AliAODTrack *track, const AliESDVertex *primary, AliESDtrackCuts *cuts) const
Bool_t fFixRefs
maximum centrality for selected events
Definition: AliRDHFCuts.h:407
Bool_t fKeepSignalMC
max rapidity of candidate (if !=-999 overrides IsInFiducialAcceptance)
Definition: AliRDHFCuts.h:413
void ApplySPDDeadPbPb2011()
Definition: AliRDHFCuts.h:193
Int_t GetNVarsForOpt() const
Definition: AliRDHFCuts.h:237
Bool_t AreDaughtersSelected(AliAODRecoDecayHF *rd) const
Int_t fOptPileup
use Physics selection criteria
Definition: AliRDHFCuts.h:397
Double_t GetMaxPtCandidate() const
Definition: AliRDHFCuts.h:268
AliESDtrackCuts * GetTrackCuts() const
Definition: AliRDHFCuts.h:246
void PrintTrigger() const
Float_t fMaxVtxZ
maximum chi2/ndf
Definition: AliRDHFCuts.h:371
void SetUseHighMult8TriggerPP2012()
Definition: AliRDHFCuts.h:179
Float_t GetCentrality(AliAODEvent *aodEvent)
Definition: AliRDHFCuts.h:242
Int_t fIsSelectedPID
outcome of cuts selection
Definition: AliRDHFCuts.h:409
Bool_t IsEventRejectedDueToPileup() const
Definition: AliRDHFCuts.h:308
void SetMinVtxType(Int_t type=3)
Definition: AliRDHFCuts.h:53
Float_t fMinCentrality
Definition: AliRDHFCuts.h:405
virtual Int_t IsSelected(TObject *obj, Int_t selectionLevel, AliAODEvent *)
Definition: AliRDHFCuts.h:285
void SetUseTrackSelectionWithFilterBits(Bool_t flag=kTRUE)
Definition: AliRDHFCuts.h:207
UInt_t GetEventRejectionBitMap() const
Definition: AliRDHFCuts.h:295
Bool_t GetUseMCVertex() const
Definition: AliRDHFCuts.h:338
UInt_t fEvRejectionBits
used to code the step at which candidate was rejected
Definition: AliRDHFCuts.h:393
Double_t fMaxDiffTRKV0Centr
flag to apply cut on tracks crossing SPD misaligned modules for PP2012 data
Definition: AliRDHFCuts.h:418
Float_t GetCentralityOldFramework(AliAODEvent *aodEvent, AliRDHFCuts::ECentrality estimator)
Float_t GetMinRatioClsOverCrossRowsTPC() const
Definition: AliRDHFCuts.h:272
Int_t fnPtBinLimits
number of pt bins for cuts
Definition: AliRDHFCuts.h:380
Float_t * fCutsRD
fnVars*fnPtBins
Definition: AliRDHFCuts.h:387
Bool_t CheckPtDepCrossedRows(TString rows, Bool_t print=kFALSE) const
void SetMaxRapidityCandidate(Double_t ycand)
Definition: AliRDHFCuts.h:217
Bool_t IsEventRejectedDuePhysicsSelection() const
Definition: AliRDHFCuts.h:320
void SetMaxCentrality(Float_t maxCentrality=100.)
Definition: AliRDHFCuts.h:52
Bool_t fUseCentrFlatteningInMC
flag to enable/disable the check on filter bits
Definition: AliRDHFCuts.h:423
void SetVarsForOpt(Int_t nVars, Bool_t *forOpt)
virtual void SetStandardCutsPbPb2011()
Definition: AliRDHFCuts.h:48
void SetVarNames(Int_t nVars, TString *varNames, Bool_t *isUpperCut)
Bool_t GetUseTrackSelectionWithFilterBits() const
Definition: AliRDHFCuts.h:261
void GetVarPtIndex(Int_t iGlob, Int_t &iVar, Int_t &iPtBin) const
Bool_t * fVarsForOpt
number of cut vars to be optimized for candidates
Definition: AliRDHFCuts.h:385
Bool_t GetIsPrimaryWithoutDaughters() const
Definition: AliRDHFCuts.h:262
void SetUseInt1TriggerPP2012()
Setters (helpers) for pp 2012 data.
Definition: AliRDHFCuts.h:119
Bool_t CompareCuts(const AliRDHFCuts *obj) const
void SetNotUseCutOnTRKVsV0Centraltity()
Definition: AliRDHFCuts.h:186
void SetKeepSignalMC()
Definition: AliRDHFCuts.h:347
void EnableCentralTrigger()
Definition: AliRDHFCuts.h:81
Bool_t fApplySPDMisalignedPP2012
flag to apply SPD dead module map of PbPb2011
Definition: AliRDHFCuts.h:417
Bool_t IsEventSelected(AliVEvent *event)
Int_t fMinSPDMultiplicity
maximum |z| of primary vertex
Definition: AliRDHFCuts.h:372
void SetUsePID(Bool_t flag=kTRUE)
Definition: AliRDHFCuts.h:204
void SetUseEMCALGA7TriggerPP2012()
Definition: AliRDHFCuts.h:154
virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d, Float_t *vars, Int_t nvars, Int_t *pdgdaughters, AliAODEvent *)
Definition: AliRDHFCuts.h:250
virtual void PrintAll() const
Bool_t fUseAOD049
enable PID usage (off by default)
Definition: AliRDHFCuts.h:390
Bool_t GetUseKinkRejection() const
Definition: AliRDHFCuts.h:256
Bool_t fApplySPDDeadPbPb2011
maximum pt of the candidate for which to check if the daughters fulfill kFirst criteria ...
Definition: AliRDHFCuts.h:416
void CleanOwnPrimaryVtx(AliAODRecoDecayHF *d, AliAODEvent *aod, AliAODVertex *origownvtx) const
Float_t * GetPtBinLimits() const
Definition: AliRDHFCuts.h:232
void SetRemoveDaughtersFromPrim(Bool_t removeDaughtersPrim)
Definition: AliRDHFCuts.h:214
Bool_t IsSelectCandTrackSPDFirst() const
Definition: AliRDHFCuts.h:352
virtual void SetStandardCutsPP2010()
Definition: AliRDHFCuts.h:46
Bool_t fIsCandTrackSPDFirst
IsSelected returns always kTRUE for MC signal.
Definition: AliRDHFCuts.h:414
TH1F * fHistCentrDistr
flag for enabling/diabling centrality flattening in MC
Definition: AliRDHFCuts.h:424
void SetPtBins(Int_t nPtBinLimits, Float_t *ptBinLimits)
Bool_t GetUseEventsWithOnlySPDVertex() const
Definition: AliRDHFCuts.h:257
Bool_t fKinkReject
cut on zSPD vertex to remove outliers in centrality vs. tracklets (0=no cut, 1= cut at 12 cm...
Definition: AliRDHFCuts.h:421
Bool_t IsSelected(TObject *obj)
Definition: AliRDHFCuts.h:274
Int_t fMinContrPileup
option for pielup selection
Definition: AliRDHFCuts.h:398
Bool_t GetIsUsePID() const
Definition: AliRDHFCuts.h:254
void SetMinRatioClsOverCrossRowsTPC(Float_t ratio=0.)
Definition: AliRDHFCuts.h:228
Bool_t fUsePhysicsSelection
use MC primary vertex
Definition: AliRDHFCuts.h:396
TFormula * f1CutMinNCrossedRowsTPCPtDep
pT-dep cut in TPC minimum n crossed rows
Definition: AliRDHFCuts.h:428
Int_t GetNPtBins() const
Definition: AliRDHFCuts.h:233
Double_t IsMaxCandTrackSPDFirst() const
Definition: AliRDHFCuts.h:353
Bool_t IsEventRejectedDueToTrigger() const
Definition: AliRDHFCuts.h:296
void AddTrackCuts(const AliESDtrackCuts *cuts)
Definition: AliRDHFCuts.h:202
void SetMinPtCandidate(Double_t ptCand=-1.)
Definition: AliRDHFCuts.h:215
TString fTriggerClass[2]
flag to select one trigger only
Definition: AliRDHFCuts.h:375
Bool_t GetUsePhysicsSelection() const
Definition: AliRDHFCuts.h:327
Int_t fnPtBins
cuts on the candidate
Definition: AliRDHFCuts.h:379
void SetTriggerClass(TString trclass0, TString trclass1="")
Definition: AliRDHFCuts.h:192
Bool_t GetUseAOD049() const
Definition: AliRDHFCuts.h:255
AliAODPidHF * fPidHF
enable AOD049 centrality cleanup
Definition: AliRDHFCuts.h:391
void SetUseEMCAL8TriggerPP2012()
Definition: AliRDHFCuts.h:139
Double_t GetMinPtCandidate() const
Definition: AliRDHFCuts.h:267
Float_t fCutRatioSignalNOverCrossRowsTPC
min. value ratio NTPCClusters/NTPCCrossedRows, cut if !=0
Definition: AliRDHFCuts.h:426
Int_t fGlobalIndex
Definition: AliRDHFCuts.h:386
virtual Bool_t IsInFiducialAcceptance(Double_t, Double_t) const
Definition: AliRDHFCuts.h:291
Int_t GetUseCentrality() const
Definition: AliRDHFCuts.h:264
void SetUseEMCALJET8TriggerPP2012()
Definition: AliRDHFCuts.h:149
Bool_t RecalcOwnPrimaryVtx(AliAODRecoDecayHF *d, AliAODEvent *aod) const
Int_t PtBin(Double_t pt) const
void SetOptPileup(Int_t opt=0)
Definition: AliRDHFCuts.h:218
Int_t GetGlobalIndex(Int_t iVar, Int_t iPtBin) const
void SetMaxVtxRdChi2(Float_t chi2=1e6)
Definition: AliRDHFCuts.h:59
TString fCutMinCrossedRowsTPCPtDep
min. value ratio TPCPointsUsedForPID/NTPCCrossedRows, cut if !=0
Definition: AliRDHFCuts.h:427
Bool_t IsEventRejectedDueToCentralityFlattening() const
Definition: AliRDHFCuts.h:314
const Int_t nPtBins
void SetUseSemiCentralTriggerExclusively()
Definition: AliRDHFCuts.h:101
TH1F * GetHistoForCentralityFlattening()
Definition: AliRDHFCuts.h:269
Double_t fMinPtCand
outcome of PID selection
Definition: AliRDHFCuts.h:410
void SetUseHighMult7TriggerPP2012()
Definition: AliRDHFCuts.h:174
void ApplySPDMisalignedCutPP2012()
Definition: AliRDHFCuts.h:194
Float_t fMaxCentrality
minimum centrality for selected events
Definition: AliRDHFCuts.h:406
void SetTriggerMask(ULong64_t mask=0)
Definition: AliRDHFCuts.h:63
void SetUseEventsWithOnlySPDVertex(Bool_t flag=kTRUE)
Definition: AliRDHFCuts.h:54
void EnableEMCALTrigger()
Definition: AliRDHFCuts.h:105
Bool_t RecomputePrimaryVertex(AliAODEvent *event) const
Int_t fnVars
Definition: AliRDHFCuts.h:382