AliPhysics  master (3d17d9d)
Go to the documentation of this file.
3 /* Copyright(c) 1998-2010, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice */
6 /* $Id$ */
8 //***********************************************************
12 //***********************************************************
14 #include <TString.h>
16 #include "AliAnalysisCuts.h"
17 #include "AliESDtrackCuts.h"
18 #include "AliAODPidHF.h"
19 #include "AliAODEvent.h"
20 #include "AliVEvent.h"
21 #include "TObjArray.h"
22 #include "AliTimeRangeCut.h"
24 class AliAODTrack;
25 class AliAODRecoDecayHF;
26 class AliESDVertex;
27 class TF1;
28 class TFormula;
29 class AliEventCuts;
31 class AliRDHFCuts : public AliAnalysisCuts
32 {
33  public:
42  AliRDHFCuts(const Char_t* name="RDHFCuts", const Char_t* title="");
44  virtual ~AliRDHFCuts();
46  AliRDHFCuts(const AliRDHFCuts& source);
47  AliRDHFCuts& operator=(const AliRDHFCuts& source);
49  virtual void SetStandardCutsPP2010() {return;}
50  virtual void SetStandardCutsPbPb2010() {return;}
51  virtual void SetStandardCutsPbPb2011() {return;}
54  void SetMinCentrality(Float_t minCentrality=0.) {fMinCentrality=minCentrality;}
55  void SetMaxCentrality(Float_t maxCentrality=100.) {fMaxCentrality=maxCentrality;}
57  void SetMinVtxType(Int_t type=3) {fMinVtxType=type;}
59  if(flag) fMinVtxType=1;
60  else fMinVtxType=3;
61  }
62  void SetMinVtxContr(Int_t contr=1) {fMinVtxContr=contr;}
63  void SetMaxVtxRdChi2(Float_t chi2=1e6) {fMaxVtxRedChi2=chi2;}
64  void SetMaxVtxZ(Float_t z=1e6) {fMaxVtxZ=z;}
71  void SetTriggerMask(ULong64_t mask=0) {fTriggerMask=mask;}
73  ULong64_t GetTriggerMask() {return fTriggerMask;}
76  void SetUseAnyTrigger() {fTriggerMask=AliVEvent::kAny;}
78  fTriggerMask|=AliVEvent::kMB;
79  fUseOnlyOneTrigger=kFALSE;
80  }
82  fTriggerMask=AliVEvent::kMB;
83  fUseOnlyOneTrigger=kFALSE;
84  }
86  fTriggerMask=AliVEvent::kMB;
87  fUseOnlyOneTrigger=kTRUE;
88  }
90  fTriggerMask|=AliVEvent::kCentral;
91  fUseOnlyOneTrigger=kFALSE;
92  }
94  fTriggerMask=AliVEvent::kCentral;
95  fUseOnlyOneTrigger=kFALSE;
96  }
98  fTriggerMask=AliVEvent::kCentral;
99  fUseOnlyOneTrigger=kTRUE;
100  }
102  fTriggerMask|=AliVEvent::kSemiCentral;
103  fUseOnlyOneTrigger=kFALSE;
104  }
106  fTriggerMask=AliVEvent::kSemiCentral;
107  fUseOnlyOneTrigger=kFALSE;
108  }
110  fTriggerMask=AliVEvent::kSemiCentral;
111  fUseOnlyOneTrigger=kTRUE;
112  }
114  fTriggerMask|=(AliVEvent::kEMCEJE|AliVEvent::kEMCEGA);
115  fUseOnlyOneTrigger=kFALSE;
116  }
118  fTriggerMask=(AliVEvent::kEMCEJE|AliVEvent::kEMCEGA);
119  fUseOnlyOneTrigger=kFALSE;
120  }
122  fTriggerMask=(AliVEvent::kEMCEJE|AliVEvent::kEMCEGA);
123  fUseOnlyOneTrigger=kTRUE;
124  }
125  //
128  fTriggerMask=AliVEvent::kMB;
129  fTriggerClass[0]="CINT1";
130  fUseOnlyOneTrigger=kFALSE;
131  }
133  fTriggerMask=AliVEvent::kINT7;
134  fTriggerClass[0]="CINT7";
135  fUseOnlyOneTrigger=kFALSE;
136  }
138  fTriggerMask=AliVEvent::kINT8;
139  fTriggerClass[0]="CINT8";
140  fUseOnlyOneTrigger=kFALSE;
141  }
143  fTriggerMask=AliVEvent::kEMC7;
144  fTriggerClass[0]="CEMC7";
145  fUseOnlyOneTrigger=kFALSE;
146  }
148  fTriggerMask=AliVEvent::kEMC8;
149  fTriggerClass[0]="CEMC8";
150  fUseOnlyOneTrigger=kFALSE;
151  }
153  fTriggerMask=AliVEvent::kEMCEJE;
154  fTriggerClass[0]="CEMC7EJE";
155  fUseOnlyOneTrigger=kFALSE;
156  }
158  fTriggerMask=AliVEvent::kEMCEJE;
159  fTriggerClass[0]="CEMC8EJE";
160  fUseOnlyOneTrigger=kFALSE;
161  }
163  fTriggerMask=AliVEvent::kEMCEGA;
164  fTriggerClass[0]="CEMC7EGA";
165  fUseOnlyOneTrigger=kFALSE;
166  }
168  fTriggerMask=AliVEvent::kEMCEGA;
169  fTriggerClass[0]="CEMC8EGA";
170  fUseOnlyOneTrigger=kFALSE;
171  }
173  fTriggerMask=AliVEvent::kSPI7;
174  fTriggerClass[0]="CSPI7";
175  fUseOnlyOneTrigger=kFALSE;
176  }
178  fTriggerMask=AliVEvent::kSPI;
179  fTriggerClass[0]="CSPI8";
180  fUseOnlyOneTrigger=kFALSE;
181  }
183  fTriggerMask=AliVEvent::kHighMult;
184  fTriggerClass[0]="CSHM7";
185  fUseOnlyOneTrigger=kFALSE;
186  }
188  fTriggerMask=AliVEvent::kHighMult;
189  fTriggerClass[0]="CSHM8";
190  fUseOnlyOneTrigger=kFALSE;
191  }
198  if(opt>=0 && opt<=3) fCutOnzVertexSPD=opt;
199  else AliError("Wrong option for cut on zVertexSPD");
200  }
206  AliEventCuts* GetAliEventCuts() const { return fAliEventCuts;}
208  void SetTriggerClass(TString trclass0, TString trclass1="") {fTriggerClass[0]=trclass0; fTriggerClass[1]=trclass1;}
212  void SetVarsForOpt(Int_t nVars,Bool_t *forOpt);
214  void SetGlobalIndex(Int_t nVars,Int_t nptBins){fnVars=nVars; fnPtBins=nptBins; SetGlobalIndex();}
215  void SetVarNames(Int_t nVars,TString *varNames,Bool_t *isUpperCut);
216  void SetPtBins(Int_t nPtBinLimits,Float_t *ptBinLimits);
217  void SetCuts(Int_t nVars,Int_t nPtBins,Float_t** cutsRD);
218  void SetCuts(Int_t glIndex, Float_t* cutsRDGlob);
219  void AddTrackCuts(const AliESDtrackCuts *cuts)
220  {delete fTrackCuts; fTrackCuts=new AliESDtrackCuts(*cuts); return;}
221  void SetUsePID(Bool_t flag=kTRUE) {fUsePID=flag; return;}
222  void SetUseAOD049(Bool_t flag=kTRUE) {fUseAOD049=flag; return;}
223  void SetKinkRejection(Bool_t flag=kTRUE) {fKinkReject=flag; return;}
225  fUseTrackSelectionWithFilterBits=flag; return;}
226  void SetUseCentrality(Int_t flag=1);
227  void SetPidHF(AliAODPidHF* pidObj) {
228  if(fPidHF) delete fPidHF;
229  fPidHF=new AliAODPidHF(*pidObj);
230  }
231  void SetRemoveDaughtersFromPrim(Bool_t removeDaughtersPrim) {fRemoveDaughtersFromPrimary=removeDaughtersPrim;}
232  void SetMinPtCandidate(Double_t ptCand=-1.) {fMinPtCand=ptCand; return;}
233  void SetMaxPtCandidate(Double_t ptCand=1000.) {fMaxPtCand=ptCand; return;}
234  void SetMaxRapidityCandidate(Double_t ycand) {fMaxRapidityCand=ycand; return;}
237  fOptPileup=opt;
238  if (fOptPileup==kRejectMVPileupEvent) {
241  fMinWDzPileupMV=15.;
242  fRejectPlpFromDiffBCMV=kFALSE;
243  }
244  }
245  void ConfigurePileupCuts(Int_t /*minContrib=3*/, Float_t /*minDz=0.6*/){
246  AliError("Obsolete method, call ConfigureSPDPileupCuts or the setters for MV pileup");
247  return;
248  }
249  void ConfigureSPDPileupCuts(Int_t minContrib=3, Float_t minDz=0.6){
250  fMinContrPileup=minContrib;
251  fMinDzPileup=minDz;
252  }
255  }
257  void SetHistoForCentralityFlattening(TH1F *h,Double_t minCentr,Double_t maxCentr,Double_t centrRef=0.,Int_t switchTRand=0);
258  void SetMinCrossedRowsTPCPtDep(const char *rows="");
264  AliAODPidHF* GetPidHF() const {return fPidHF;}
266  Int_t GetNPtBins() const {return fnPtBins;}
267  Int_t GetNVars() const {return fnVars;}
268  TString *GetVarNames() const {return fVarNames;}
269  Bool_t *GetVarsForOpt() const {return fVarsForOpt;}
271  const Float_t *GetCuts() const {return fCutsRD;}
272  void GetCuts(Float_t**& cutsRD) const;
273  Float_t GetCutValue(Int_t iVar,Int_t iPtBin) const;
274  Double_t GetMaxVtxZ() const {return fMaxVtxZ;}
278  Bool_t *GetIsUpperCut() const {return fIsUpperCut;}
279  AliESDtrackCuts *GetTrackCuts() const {return fTrackCuts;}
280  virtual AliESDtrackCuts *GetTrackCutsSoftPi() const {return 0;}
281  virtual AliESDtrackCuts *GetTrackCutsV0daughters() const {return 0;}
282  virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d,Float_t *vars,Int_t nvars,Int_t *pdgdaughters) = 0;
283  virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d,Float_t *vars,Int_t nvars,Int_t *pdgdaughters,AliAODEvent * /*aod*/)
284  {return GetCutVarsForOpt(d,vars,nvars,pdgdaughters);}
285  Int_t GetGlobalIndex(Int_t iVar,Int_t iPtBin) const;
286  void GetVarPtIndex(Int_t iGlob, Int_t& iVar, Int_t& iPtBin) const;
287  Bool_t GetIsUsePID() const {return fUsePID;}
288  Bool_t GetUseAOD049() const {return fUseAOD049;}
291  if(fMinVtxType==1 || fMinVtxType==2) return kTRUE;
292  return kFALSE;
293  }
296  Bool_t GetOptPileUp() const {return fOptPileup;}
313  Bool_t IsSelected(TList *list) {if(!list) return kTRUE; return kFALSE;}
314  virtual Int_t PreSelect(TObjArray /*aodtracks*/){return 3;}
315  Int_t IsEventSelectedInCentrality(AliVEvent *event);
317  Bool_t IsEventSelected(AliVEvent *event);
318  Bool_t IsEventSelectedWithAliEventCuts(AliVEvent *event);
319  Bool_t AreDaughtersSelected(AliAODRecoDecayHF *rd, const AliAODEvent* aod=0x0) const;
320  Bool_t IsDaughterSelected(AliAODTrack *track,const AliESDVertex *primary,AliESDtrackCuts *cuts, const AliAODEvent* aod=0x0) const;
321  virtual Int_t IsSelectedPID(AliAODRecoDecayHF * /*rd*/) {return 1;}
325  void SetupPID(AliVEvent *event);
327  virtual Int_t IsSelected(TObject* obj,Int_t selectionLevel) = 0;
328  virtual Int_t IsSelected(TObject* obj,Int_t selectionLevel,AliAODEvent* /*aod*/)
329  {return IsSelected(obj,selectionLevel);}
330  Int_t PtBin(Float_t pt) const {
331  if(pt<fPtBinLimits[0]) return -1;
332  for (Int_t i=0;i<fnPtBins;i++) if(pt<fPtBinLimits[i+1]) return i;
333  return -1;
334  }
335  virtual void PrintAll()const;
336  void PrintTrigger() const;
338  virtual Bool_t IsInFiducialAcceptance(Double_t /*pt*/,Double_t /*y*/) const {return kTRUE;}
340  void SetWhyRejection(Int_t why) {fWhyRejection=why; return;}
344  return fEvRejectionBits&(1<<kNotSelTrigger);
345  }
347  return fEvRejectionBits&(1<<kNoVertex);
348  }
351  }
353  return fEvRejectionBits&(1<<kBadSPDVertex);
354  }
356  return fEvRejectionBits&(1<<kZVtxOutFid);
357  }
359  return fEvRejectionBits&(1<<kPileup);
360  }
363  }
366  }
369  }
372  }
374  return fEvRejectionBits&(1<<kBadTrackVertex);
375  }
378  }
381  }
386  }
387  return kFALSE;
388  }
390  return fEvRejectionBits&(1<<kBadTimeRange);
391  }
393  void SetFixRefs(Bool_t fix=kTRUE) {fFixRefs=fix; return;}
394  void SetUsePhysicsSelection(Bool_t use=kTRUE){fUsePhysicsSelection=use; return;}
397  void SetUsePreSelect(Int_t usePreselect){fUsePreselect=usePreselect;return;}
400  Bool_t CompareCuts(const AliRDHFCuts *obj) const;
401  void MakeTable()const;
406  void SetUseMCVertex() { fUseMCVertex=kTRUE; }
407  Bool_t GetUseMCVertex() const { return fUseMCVertex; }
411  void CleanOwnPrimaryVtx(AliAODRecoDecayHF *d,AliAODEvent *aod,AliAODVertex *origownvtx) const;
414  { if(fWhyRejection==0) {return kTRUE;} else {return kFALSE;} }
416  void SetKeepSignalMC() {fKeepSignalMC=kTRUE; return;}
424  Bool_t CheckPtDepCrossedRows(TString rows,Bool_t print=kFALSE) const;
430  }
434  void EnableNsigmaDataDrivenCorrection(Bool_t enableNsigmaCorr, Int_t system) {
435  fEnableNsigmaTPCDataCorr = enableNsigmaCorr;
437  }
442  protected:
444  void SetNPtBins(Int_t nptBins){fnPtBins=nptBins;}
445  void SetNVars(Int_t nVars){fnVars=nVars;}
447  Bool_t IsSignalMC(AliAODRecoDecay *d,AliAODEvent *aod,Int_t pdg) const;
460  ULong64_t fTriggerMask;
463  AliESDtrackCuts *fTrackCuts;
465  Int_t fnPtBins;
468  Float_t* fPtBinLimits; //[fnPtBinLimits] pt bins
470  TString *fVarNames; //[fnVars] names of the variables
472  Bool_t *fVarsForOpt; //[fnVars] kTRUE for vars to be used in optimization
474  Float_t *fCutsRD; //[fGlobalIndex] the cuts values
475  Bool_t *fIsUpperCut; //[fnVars] use > or < to select
480  UInt_t fEvRejectionBits; //bit map storing the full info about event rejection
528  Bool_t fApplyZcutOnSPDvtx; //flag to apply the cut on |Zvtx| > X cm using the z coordinate of the SPD vertex
530  AliEventCuts* fAliEventCuts;
535  AliTimeRangeCut fTimeRangeCut;
543  ClassDef(AliRDHFCuts,52);
544 };
547 #endif
Float_t GetMaxCentrality() const
Definition: AliRDHFCuts.h:299
Bool_t IsEventRejectedDueToCentrality() const
Definition: AliRDHFCuts.h:361
void SetNPtBins(Int_t nptBins)
Definition: AliRDHFCuts.h:444
Int_t fIsSelectedCuts
fix the daughter track references
Definition: AliRDHFCuts.h:497
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:93
Bool_t IsEventRejectedDueToZVertexOutsideFiducialRegion() const
Definition: AliRDHFCuts.h:355
virtual AliESDtrackCuts * GetTrackCutsV0daughters() const
Definition: AliRDHFCuts.h:281
Float_t fMinDzPileup
min. n. of tracklets in pileup vertex
Definition: AliRDHFCuts.h:486
Double_t fMaxPtCandTrackSPDFirst
flag to select the track kFirst criteria for pt < ptlimit
Definition: AliRDHFCuts.h:504
Int_t GetNVars() const
Definition: AliRDHFCuts.h:267
void SetUseOnlyOneTrigger(Bool_t onlyOne)
Definition: AliRDHFCuts.h:72
AliEventCuts * fAliEventCuts
flag that defines whether the PreSelect method has to be used: note that it is up to the task user to...
Definition: AliRDHFCuts.h:530
Bool_t IsEventRejectedDueToNotRecoVertex() const
Definition: AliRDHFCuts.h:346
Int_t fWhyRejection
PID for heavy flavours manager.
Definition: AliRDHFCuts.h:479
Int_t PtBin(Float_t pt) const
Definition: AliRDHFCuts.h:330
virtual Int_t PreSelect(TObjArray)
Definition: AliRDHFCuts.h:314
Int_t GetIsSelectedPID() const
Definition: AliRDHFCuts.h:404
Float_t GetMinRatioSignalNOverCrossRowsTPC() const
Definition: AliRDHFCuts.h:307
void SetRemoveTrackletOutliers(Bool_t opt)
Definition: AliRDHFCuts.h:196
double Double_t
Definition: External.C:58
ULong64_t GetTriggerMask()
Definition: AliRDHFCuts.h:73
Int_t fCutOnzVertexSPD
flag to apply cut on tracklets vs. centrality for 2011 data
Definition: AliRDHFCuts.h:510
void ResetMaskAndEnableSemiCentralTrigger()
Definition: AliRDHFCuts.h:105
virtual AliESDtrackCuts * GetTrackCutsSoftPi() const
Definition: AliRDHFCuts.h:280
void SetUseAOD049(Bool_t flag=kTRUE)
Definition: AliRDHFCuts.h:222
void SetFixRefs(Bool_t fix=kTRUE)
Definition: AliRDHFCuts.h:393
void SetUseMCVertex()
Definition: AliRDHFCuts.h:406
void SetupPID(AliVEvent *event)
void SetZcutOnSPDvtx()
Definition: AliRDHFCuts.h:432
Bool_t IsSignalMC(AliAODRecoDecay *d, AliAODEvent *aod, Int_t pdg) const
void SetMinRatioSignalNOverCrossRowsTPC(Float_t ratio=0.)
Definition: AliRDHFCuts.h:260
const char * title
Definition: MakeQAPdf.C:27
Bool_t GetOptPileUp() const
Definition: AliRDHFCuts.h:296
virtual void SetStandardCutsPbPb2010()
Definition: AliRDHFCuts.h:50
void SetMinNumTPCClsForPID(Int_t cut=0.)
Definition: AliRDHFCuts.h:261
Double_t fCutGeoNcrNclFractionNcr
3rd parameter of GeoNcrNcl cut
Definition: AliRDHFCuts.h:524
Bool_t fUseMCVertex
flag to switch on the removal of duaghters from the primary vertex computation
Definition: AliRDHFCuts.h:482
Bool_t fUseOnlyOneTrigger
trigger mask
Definition: AliRDHFCuts.h:461
Int_t GetIsSelectedCuts() const
Definition: AliRDHFCuts.h:403
void SetMaxVtxZ(Float_t z=1e6)
Definition: AliRDHFCuts.h:64
Int_t IsEventSelectedInCentrality(AliVEvent *event)
Bool_t * fIsUpperCut
Definition: AliRDHFCuts.h:475
Bool_t SetMCPrimaryVtx(AliAODRecoDecayHF *d, AliAODEvent *aod) const
void SetUseMultDepPileupCut(Bool_t opt=kTRUE)
Definition: AliRDHFCuts.h:253
Bool_t fRemoveDaughtersFromPrimary
Definition: AliRDHFCuts.h:481
void SetHistoForCentralityFlattening(TH1F *h, Double_t minCentr, Double_t maxCentr, Double_t centrRef=0., Int_t switchTRand=0)
Int_t GetMinNumTPCClsForPID() const
Definition: AliRDHFCuts.h:308
void SetUseMBTriggerExclusively()
Definition: AliRDHFCuts.h:85
Bool_t fUseMultDepPileupCut
min deltaz between main and pileup vertices
Definition: AliRDHFCuts.h:487
void SetUseCentrality(Int_t flag=1)
const char * GetMinCrossedRowsTPCPtDep() const
Definition: AliRDHFCuts.h:305
Float_t * fPtBinLimits
"number of limits", that is fnPtBins+1
Definition: AliRDHFCuts.h:468
void SetUseEMCALGA8TriggerPP2012()
Definition: AliRDHFCuts.h:167
void SetWhyRejection(Int_t why)
Definition: AliRDHFCuts.h:340
Int_t fMinVtxContr
0: not cut; 1: SPDZ; 2: SPD3D; 3: Tracks
Definition: AliRDHFCuts.h:452
void SetCutOnzVertexSPD(Int_t opt)
Definition: AliRDHFCuts.h:197
void EnableMBTrigger()
Definition: AliRDHFCuts.h:77
char Char_t
Definition: External.C:18
void SetGlobalIndex(Int_t nVars, Int_t nptBins)
Definition: AliRDHFCuts.h:214
void SetUsePreSelect(Int_t usePreselect)
Definition: AliRDHFCuts.h:397
void SetMinContribPileupMV(Int_t contr=5)
Definition: AliRDHFCuts.h:66
static Int_t CheckMatchingAODdeltaAODevents()
Float_t fMaxVtxRedChi2
minimum vertex contributors
Definition: AliRDHFCuts.h:453
void SetUseEMCAL7TriggerPP2012()
Definition: AliRDHFCuts.h:142
void SetUseCentralTriggerExclusively()
Definition: AliRDHFCuts.h:97
void SetUseV0ANDSelectionOffline(Bool_t flag=kFALSE)
Definition: AliRDHFCuts.h:193
const Float_t * GetCuts() const
Definition: AliRDHFCuts.h:271
Bool_t IsEventRejectedDueToVertexContributors() const
Definition: AliRDHFCuts.h:349
Bool_t IsSelected(TList *list)
Definition: AliRDHFCuts.h:313
void SetMinCrossedRowsTPCPtDep(const char *rows="")
void SetNVars(Int_t nVars)
Definition: AliRDHFCuts.h:445
void SetUseSPI7TriggerPP2012()
Definition: AliRDHFCuts.h:172
Float_t fCutRatioClsOverCrossRowsTPC
histogram with reference centrality distribution for centrality distribution flattening ...
Definition: AliRDHFCuts.h:515
Bool_t GetUseTPCtrackCutsOnThisDaughter() const
Definition: AliRDHFCuts.h:309
Bool_t IsEventSelectedWithAliEventCuts(AliVEvent *event)
Bool_t GetUseOnlyOneTrigger()
Definition: AliRDHFCuts.h:74
TString GetMultSelectionObjectName() const
Definition: AliRDHFCuts.h:300
Int_t GetWhyRejection() const
Definition: AliRDHFCuts.h:341
Double_t fDeadZoneWidth
flag for enabling/disabling geometrical cut on TPC track
Definition: AliRDHFCuts.h:521
void SetRejectPlpFromDifferentBCMV(Bool_t ok=kTRUE)
Definition: AliRDHFCuts.h:69
Int_t fMinVtxType
cuts on the event
Definition: AliRDHFCuts.h:451
void SetUseAnyTrigger()
Definition: AliRDHFCuts.h:76
Double_t fMaxRapidityCand
minimum pt of the candidate
Definition: AliRDHFCuts.h:501
void EnableSemiCentralTrigger()
Definition: AliRDHFCuts.h:101
Bool_t IsEventRejectedDueToTRKV0CentralityCorrel() const
Definition: AliRDHFCuts.h:367
Double_t fCutGeoNcrNclFractionNcl
4th parameter of GeoNcrNcl cut
Definition: AliRDHFCuts.h:525
TString * GetVarNames() const
Definition: AliRDHFCuts.h:268
void SetGlobalIndex()
Definition: AliRDHFCuts.h:213
AliRDHFCuts & operator=(const AliRDHFCuts &source)
Float_t GetCutValue(Int_t iVar, Int_t iPtBin) const
Int_t fUseCentrality
flag to use a multiplicity dependent pileup selection
Definition: AliRDHFCuts.h:488
void EnableNsigmaDataDrivenCorrection(Bool_t enableNsigmaCorr, Int_t system)
Definition: AliRDHFCuts.h:434
Float_t GetMinCentrality() const
Definition: AliRDHFCuts.h:298
Bool_t fUsePID
Definition: AliRDHFCuts.h:476
void SetMaxDifferenceTRKV0Centraltity(Double_t maxd=5.)
Definition: AliRDHFCuts.h:194
Double_t GetMaxVtxZ() const
Definition: AliRDHFCuts.h:274
Int_t GetSystemForNsigmaTPCDataCorr() const
Definition: AliRDHFCuts.h:440
Bool_t fRejectPlpFromDiffBCMV
minimum weighted distance in Z between 2 vertices (multi-vertexer)
Definition: AliRDHFCuts.h:459
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:419
void SetUsePhysicsSelection(Bool_t use=kTRUE)
Definition: AliRDHFCuts.h:394
virtual Int_t IsSelectedPID(AliAODRecoDecayHF *)
Definition: AliRDHFCuts.h:321
void SetPidHF(AliAODPidHF *pidObj)
see enum below
Definition: AliRDHFCuts.h:227
void SetUseEMCALJET7TriggerPP2012()
Definition: AliRDHFCuts.h:152
AliAODPidHF * GetPidHF() const
Definition: AliRDHFCuts.h:264
void SetKinkRejection(Bool_t flag=kTRUE)
Definition: AliRDHFCuts.h:223
void SetMaxVtxChi2PileupMV(Float_t chi2=5.)
Definition: AliRDHFCuts.h:67
Bool_t fRemoveTrackletOutliers
Max. difference between TRK and V0 centrality (remove TPC pileup for PbPb 2011)
Definition: AliRDHFCuts.h:509
void SetUseCentralityFlatteningInMC(Bool_t opt)
Definition: AliRDHFCuts.h:304
Bool_t GetUseTimeRangeCutForPbPb2018() const
Definition: AliRDHFCuts.h:310
Bool_t fUseV0ANDSelectionOffline
5th parameter of GeoNcrNcl cut
Definition: AliRDHFCuts.h:526
void SetMaxPtCandidate(Double_t ptCand=1000.)
Definition: AliRDHFCuts.h:233
AliRDHFCuts(const Char_t *name="RDHFCuts", const Char_t *title="")
Definition: AliRDHFCuts.cxx:66
void SetMinSPDMultiplicity(Int_t mult=0)
Definition: AliRDHFCuts.h:65
void SetMinWeightedDzVtxPileupMV(Float_t min=15.)
Definition: AliRDHFCuts.h:68
ULong64_t fTriggerMask
flag to reject pileup from different BC (multi-vertexer)
Definition: AliRDHFCuts.h:460
Int_t fSystemForNsigmaTPCDataCorr
flag to enable data-driven NsigmaTPC correction
Definition: AliRDHFCuts.h:540
void SetMinVtxContr(Int_t contr=1)
Definition: AliRDHFCuts.h:62
Bool_t fUseCutGeoNcrNcl
pT-dep cut in TPC minimum n crossed rows
Definition: AliRDHFCuts.h:520
void SetUseInt8TriggerPP2012()
Definition: AliRDHFCuts.h:137
void SetUseEMCALTriggerExclusively()
Definition: AliRDHFCuts.h:121
int Int_t
Definition: External.C:63
Bool_t fUseTrackSelectionWithFilterBits
flag to reject kink daughters
Definition: AliRDHFCuts.h:512
Bool_t * GetIsUpperCut() const
Definition: AliRDHFCuts.h:278
Bool_t GetEnableNsigmaDataDrivenCorrection() const
Definition: AliRDHFCuts.h:439
void SetCuts(Int_t nVars, Int_t nPtBins, Float_t **cutsRD)
Int_t fnVarsForOpt
Definition: AliRDHFCuts.h:471
Float_t fMinWDzPileupMV
max chi2 per contributor of the pile-up vertex to consider (multi-vertexer).
Definition: AliRDHFCuts.h:458
void ResetMaskAndEnableMBTrigger()
Definition: AliRDHFCuts.h:81
Double_t fCutGeoNcrNclLength
1st parameter of GeoNcrNcl cut
Definition: AliRDHFCuts.h:522
void SetMinCentrality(Float_t minCentrality=0.)
Definition: AliRDHFCuts.h:54
unsigned int UInt_t
Definition: External.C:33
float Float_t
Definition: External.C:68
void ConfigurePileupCuts(Int_t, Float_t)
Definition: AliRDHFCuts.h:245
virtual ~AliRDHFCuts()
Bool_t CountEventForNormalization() const
Definition: AliRDHFCuts.h:413
const Double_t ptmax
TString * fVarNames
number of cut vars for candidates
Definition: AliRDHFCuts.h:470
Double_t fMaxPtCand
minimum pt of the candidate
Definition: AliRDHFCuts.h:500
Bool_t * GetVarsForOpt() const
Definition: AliRDHFCuts.h:269
AliEventCuts * GetAliEventCuts() const
Definition: AliRDHFCuts.h:206
AliESDtrackCuts * fTrackCuts
quality cuts on the daughter tracks
Definition: AliRDHFCuts.h:464
Bool_t fApplySPDUniformAccPbPbRun2
flag to apply cut on tracks crossing SPD misaligned modules for PP2012 data
Definition: AliRDHFCuts.h:507
void SetUseInt7TriggerPP2012()
Definition: AliRDHFCuts.h:132
void MakeTable() const
void ResetMaskAndEnableEMCALTrigger()
Definition: AliRDHFCuts.h:117
void SetUseSPI8TriggerPP2012()
Definition: AliRDHFCuts.h:177
Bool_t IsEventRejectedDueToBadTrackVertex() const
Definition: AliRDHFCuts.h:373
Bool_t fFixRefs
name of the AliMultSelection object to be considered
Definition: AliRDHFCuts.h:496
Bool_t fKeepSignalMC
max rapidity of candidate (if !=-999 overrides IsInFiducialAcceptance)
Definition: AliRDHFCuts.h:502
void ApplySPDDeadPbPb2011()
Definition: AliRDHFCuts.h:209
Int_t GetNVarsForOpt() const
Definition: AliRDHFCuts.h:270
void SetUseTimeRangeCutForPbPb2018(Bool_t opt)
Definition: AliRDHFCuts.h:205
Int_t fOptPileup
use Physics selection criteria
Definition: AliRDHFCuts.h:484
Double_t GetMaxPtCandidate() const
Definition: AliRDHFCuts.h:302
AliESDtrackCuts * GetTrackCuts() const
Definition: AliRDHFCuts.h:279
void PrintTrigger() const
Float_t fMaxVtxZ
maximum chi2/ndf
Definition: AliRDHFCuts.h:454
void SetUseAliEventCuts()
Definition: AliRDHFCuts.h:204
void SetUseHighMult8TriggerPP2012()
Definition: AliRDHFCuts.h:187
Int_t GetUsePreselect()
Definition: AliRDHFCuts.h:398
Float_t GetCentrality(AliAODEvent *aodEvent)
Definition: AliRDHFCuts.h:275
Int_t fIsSelectedPID
outcome of cuts selection
Definition: AliRDHFCuts.h:498
Bool_t IsEventRejectedDueToPileup() const
Definition: AliRDHFCuts.h:358
Bool_t fUseTimeRangeCutForPbPb2018
flag for using AliEventCuts
Definition: AliRDHFCuts.h:534
void SetMinVtxType(Int_t type=3)
Definition: AliRDHFCuts.h:57
Float_t fMinCentrality
Definition: AliRDHFCuts.h:493
virtual Int_t IsSelected(TObject *obj, Int_t selectionLevel, AliAODEvent *)
Definition: AliRDHFCuts.h:328
void SetUseTrackSelectionWithFilterBits(Bool_t flag=kTRUE)
Definition: AliRDHFCuts.h:224
void ConfigureCutGeoNcrNcl(Double_t dz, Double_t len, Double_t onept, Double_t fncr, Double_t fncl)
Definition: AliRDHFCuts.h:427
UInt_t GetEventRejectionBitMap() const
Definition: AliRDHFCuts.h:342
void SetMultSelectionObjectName(TString str)
Definition: AliRDHFCuts.h:56
Bool_t GetUseMCVertex() const
Definition: AliRDHFCuts.h:407
UInt_t fEvRejectionBits
used to code the step at which candidate was rejected
Definition: AliRDHFCuts.h:480
Int_t fMinContrPileupMV
SPD multiplicity.
Definition: AliRDHFCuts.h:456
Double_t fMaxDiffTRKV0Centr
flag to apply the same SPD acceptance between Pb-Pb 2015 and Pb-Pb 2018 (PbPb Run2 periods) ...
Definition: AliRDHFCuts.h:508
Float_t GetCentralityOldFramework(AliAODEvent *aodEvent, AliRDHFCuts::ECentrality estimator)
Float_t GetMinRatioClsOverCrossRowsTPC() const
Definition: AliRDHFCuts.h:306
Int_t fnPtBinLimits
number of pt bins for cuts
Definition: AliRDHFCuts.h:467
Int_t fCutTPCSignalN
min. value ratio TPCPointsUsedForPID/NTPCCrossedRows, cut if !=0
Definition: AliRDHFCuts.h:517
Float_t * fCutsRD
Definition: AliRDHFCuts.h:474
Bool_t CheckPtDepCrossedRows(TString rows, Bool_t print=kFALSE) const
Bool_t IsEventRejectedDueToMissingSPDVertex() const
Definition: AliRDHFCuts.h:352
void SetMaxRapidityCandidate(Double_t ycand)
Definition: AliRDHFCuts.h:234
Bool_t IsEventRejectedDueToBadPrimaryVertex() const
Definition: AliRDHFCuts.h:382
Bool_t IsEventRejectedDuePhysicsSelection() const
Definition: AliRDHFCuts.h:379
void SetMaxCentrality(Float_t maxCentrality=100.)
Definition: AliRDHFCuts.h:55
Int_t fCurrentRun
object to manage time range cut
Definition: AliRDHFCuts.h:536
void SetUseTPCtrackCutsOnThisDaughter(Bool_t flag=kTRUE)
Definition: AliRDHFCuts.h:262
void SetUsePbPbOutOfBunchPileupCut(Int_t opt)
Definition: AliRDHFCuts.h:203
Int_t fUsePreselect
Definition: AliRDHFCuts.h:529
Bool_t fUseCentrFlatteningInMC
flag to enable/disable the check on filter bits
Definition: AliRDHFCuts.h:513
void SetVarsForOpt(Int_t nVars, Bool_t *forOpt)
virtual void SetStandardCutsPbPb2011()
Definition: AliRDHFCuts.h:51
void SetVarNames(Int_t nVars, TString *varNames, Bool_t *isUpperCut)
Int_t fApplyPbPbOutOfBunchPileupCuts
swicth to enable/disable cuts on centrality correlations
Definition: AliRDHFCuts.h:532
Bool_t GetUseTrackSelectionWithFilterBits() const
Definition: AliRDHFCuts.h:294
Bool_t IsEventRejectedDueToMismatchOldNewCentrality() const
Definition: AliRDHFCuts.h:376
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:472
Bool_t GetIsPrimaryWithoutDaughters() const
Definition: AliRDHFCuts.h:295
void SetUseInt1TriggerPP2012()
Setters (helpers) for pp 2012 data.
Definition: AliRDHFCuts.h:127
Bool_t CompareCuts(const AliRDHFCuts *obj) const
void SetNotUseCutOnTRKVsV0Centraltity()
Definition: AliRDHFCuts.h:195
Bool_t AreDaughtersSelected(AliAODRecoDecayHF *rd, const AliAODEvent *aod=0x0) const
void SetKeepSignalMC()
Definition: AliRDHFCuts.h:416
void EnableCentralTrigger()
Definition: AliRDHFCuts.h:89
Bool_t fApplySPDMisalignedPP2012
flag to apply SPD dead module map of PbPb2011
Definition: AliRDHFCuts.h:506
Bool_t IsEventSelected(AliVEvent *event)
Int_t fMinSPDMultiplicity
maximum |z| of primary vertex
Definition: AliRDHFCuts.h:455
Bool_t IsEventRejectedDueToTimeRangeCut()
Definition: AliRDHFCuts.h:389
Bool_t fApplyCentralityCorrCuts
AliEventCuts object used in Pb-Pb for cuts on correlations and out-of-bunch pileup.
Definition: AliRDHFCuts.h:531
void SetUsePID(Bool_t flag=kTRUE)
Definition: AliRDHFCuts.h:221
void SetUseEMCALGA7TriggerPP2012()
Definition: AliRDHFCuts.h:162
virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d, Float_t *vars, Int_t nvars, Int_t *pdgdaughters, AliAODEvent *)
Definition: AliRDHFCuts.h:283
virtual void PrintAll() const
Bool_t fUseAOD049
enable PID usage (off by default)
Definition: AliRDHFCuts.h:477
Bool_t GetUseKinkRejection() const
Definition: AliRDHFCuts.h:289
Bool_t fApplySPDDeadPbPb2011
maximum pt of the candidate for which to check if the daughters fulfill kFirst criteria ...
Definition: AliRDHFCuts.h:505
void CleanOwnPrimaryVtx(AliAODRecoDecayHF *d, AliAODEvent *aod, AliAODVertex *origownvtx) const
Float_t * GetPtBinLimits() const
Definition: AliRDHFCuts.h:265
void SetRemoveDaughtersFromPrim(Bool_t removeDaughtersPrim)
Definition: AliRDHFCuts.h:231
Bool_t IsSelectCandTrackSPDFirst() const
Definition: AliRDHFCuts.h:421
Float_t fMaxVtxChi2PileupMV
min. n. of tracklets in pileup vertex (multi-vertexer)
Definition: AliRDHFCuts.h:457
virtual void SetStandardCutsPP2010()
Definition: AliRDHFCuts.h:49
Bool_t fIsCandTrackSPDFirst
IsSelected returns always kTRUE for MC signal.
Definition: AliRDHFCuts.h:503
TH1F * fHistCentrDistr
flag for enabling/diabling centrality flattening in MC
Definition: AliRDHFCuts.h:514
void SetPtBins(Int_t nPtBinLimits, Float_t *ptBinLimits)
Bool_t GetUseEventsWithOnlySPDVertex() const
Definition: AliRDHFCuts.h:290
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:511
Bool_t IsSelected(TObject *obj)
Definition: AliRDHFCuts.h:312
Bool_t fUseAliEventCuts
switch for additional correlation cuts for out-of-bunch pileup (0=no cut, 1=AliEVentCuts, 2=Ionut cut vs. nTPC cls)
Definition: AliRDHFCuts.h:533
TString fMultSelectionObjectName
maximum centrality for selected events
Definition: AliRDHFCuts.h:495
Bool_t fEnableNsigmaTPCDataCorr
needed to use the time range cut
Definition: AliRDHFCuts.h:539
void SetUseCentralityCorrelationCuts(Bool_t opt)
Definition: AliRDHFCuts.h:202
Int_t fMinContrPileup
option for pielup selection
Definition: AliRDHFCuts.h:485
Bool_t GetIsUsePID() const
Definition: AliRDHFCuts.h:287
Bool_t fUseTPCtrackCutsOnThisDaughter
flag to apply V0AND selection offline
Definition: AliRDHFCuts.h:527
void SetMinRatioClsOverCrossRowsTPC(Float_t ratio=0.)
Definition: AliRDHFCuts.h:259
Bool_t fUsePhysicsSelection
use MC primary vertex
Definition: AliRDHFCuts.h:483
TFormula * f1CutMinNCrossedRowsTPCPtDep
pT-dep cut in TPC minimum n crossed rows
Definition: AliRDHFCuts.h:519
Int_t GetNPtBins() const
Definition: AliRDHFCuts.h:266
Double_t IsMaxCandTrackSPDFirst() const
Definition: AliRDHFCuts.h:422
Bool_t IsEventRejectedDueToTrigger() const
Definition: AliRDHFCuts.h:343
void AddTrackCuts(const AliESDtrackCuts *cuts)
Definition: AliRDHFCuts.h:219
void SetMinPtCandidate(Double_t ptCand=-1.)
Definition: AliRDHFCuts.h:232
TString fTriggerClass[2]
flag to select one trigger only
Definition: AliRDHFCuts.h:462
Bool_t GetUsePhysicsSelection() const
Definition: AliRDHFCuts.h:395
bool Bool_t
Definition: External.C:53
Int_t fnPtBins
cuts on the candidate
Definition: AliRDHFCuts.h:466
Double_t fCutGeoNcrNclGeom1Pt
2nd parameter of GeoNcrNcl cut
Definition: AliRDHFCuts.h:523
AliTimeRangeCut fTimeRangeCut
flag to enable the timestamp based selection of good events in the 7 runs of LHC18r with problems in ...
Definition: AliRDHFCuts.h:535
Bool_t fApplyZcutOnSPDvtx
flag to apply TPC track quality cuts on specific D-meson daughter (used for different strategies for ...
Definition: AliRDHFCuts.h:528
void SetTriggerClass(TString trclass0, TString trclass1="")
Definition: AliRDHFCuts.h:208
Bool_t GetUseAOD049() const
Definition: AliRDHFCuts.h:288
AliAODPidHF * fPidHF
enable AOD049 centrality cleanup
Definition: AliRDHFCuts.h:478
void SetUseEMCAL8TriggerPP2012()
Definition: AliRDHFCuts.h:147
Double_t GetMinPtCandidate() const
Definition: AliRDHFCuts.h:301
Float_t fCutRatioSignalNOverCrossRowsTPC
min. value ratio NTPCClusters/NTPCCrossedRows, cut if !=0
Definition: AliRDHFCuts.h:516
Int_t fGlobalIndex
Definition: AliRDHFCuts.h:473
virtual Bool_t IsInFiducialAcceptance(Double_t, Double_t) const
Definition: AliRDHFCuts.h:338
Int_t GetUseCentrality() const
Definition: AliRDHFCuts.h:297
void SetUseEMCALJET8TriggerPP2012()
Definition: AliRDHFCuts.h:157
Bool_t RecalcOwnPrimaryVtx(AliAODRecoDecayHF *d, AliAODEvent *aod) const
void SetOptPileup(Int_t opt=0)
Definition: AliRDHFCuts.h:235
Int_t GetGlobalIndex(Int_t iVar, Int_t iPtBin) const
void SetMaxVtxRdChi2(Float_t chi2=1e6)
Definition: AliRDHFCuts.h:63
void ApplySPDUniformAccPbPbRun2()
Definition: AliRDHFCuts.h:211
TString fCutMinCrossedRowsTPCPtDep
min. value of number of TPC clusters for PID, cut if !=0
Definition: AliRDHFCuts.h:518
Bool_t IsEventRejectedDueToCentralityFlattening() const
Definition: AliRDHFCuts.h:364
void SetUseSemiCentralTriggerExclusively()
Definition: AliRDHFCuts.h:109
TH1F * GetHistoForCentralityFlattening()
Definition: AliRDHFCuts.h:303
void ConfigureSPDPileupCuts(Int_t minContrib=3, Float_t minDz=0.6)
Definition: AliRDHFCuts.h:249
Double_t fMinPtCand
outcome of PID selection
Definition: AliRDHFCuts.h:499
void SetUseHighMult7TriggerPP2012()
Definition: AliRDHFCuts.h:182
Bool_t IsDaughterSelected(AliAODTrack *track, const AliESDVertex *primary, AliESDtrackCuts *cuts, const AliAODEvent *aod=0x0) const
Bool_t IsEventRejectedDueToCentralityEstimCorrel() const
Definition: AliRDHFCuts.h:370
void ApplySPDMisalignedCutPP2012()
Definition: AliRDHFCuts.h:210
Float_t fMaxCentrality
minimum centrality for selected events
Definition: AliRDHFCuts.h:494
void SetTriggerMask(ULong64_t mask=0)
Definition: AliRDHFCuts.h:71
void SetUseCutGeoNcrNcl(Bool_t opt)
Definition: AliRDHFCuts.h:426
void SetUseEventsWithOnlySPDVertex(Bool_t flag=kTRUE)
Definition: AliRDHFCuts.h:58
void EnableEMCALTrigger()
Definition: AliRDHFCuts.h:113
Bool_t RecomputePrimaryVertex(AliAODEvent *event) const
Int_t fnVars
Definition: AliRDHFCuts.h:469