From 34595b3ccf791f63cf6319151debd022ab1bfb65 Mon Sep 17 00:00:00 2001 From: fprino Date: Mon, 19 Nov 2012 14:41:21 +0000 Subject: [PATCH] Modifications in Lc->V0+P analysis (Levente): *** ConfigVertexingHF... -s are updated with: - vHF->SetV0TypeForCascadeVertex(AliRDHFCuts::kAllV0s); //Note that all V)s are enabled - cutsArrayLctoV0 extended from [9] to [10] last number controls the V0s, but currently set to all V0s *** AliRDHFCutsLctoV0 updated with - new data member: fV0Type - and corresponding getter *** AliAnalysisVertexingHF - check consistency of AliAnalysisVertexingHF and analysis task(s) settings - V0 filtering fro cascade vertex reconstruction *** AliRDHFCuts - contains the steering of the V0s: enum EV0sel {kAllV0s = 0, kOnlyOfflineV0s = 1, kOnlyOnTheFlyV0s = 2}; --- PWGHF/vertexingHF/AliAnalysisVertexingHF.cxx | 31 ++++++ PWGHF/vertexingHF/AliAnalysisVertexingHF.h | 9 +- PWGHF/vertexingHF/AliRDHFCuts.h | 4 +- PWGHF/vertexingHF/AliRDHFCutsLctoV0.cxx | 104 +++++++++++------- PWGHF/vertexingHF/AliRDHFCutsLctoV0.h | 18 +-- PWGHF/vertexingHF/ConfigVertexingHF.C | 5 +- .../ConfigVertexingHF_ITSUpgrade.C | 5 +- .../ConfigVertexingHF_ITSUpgrade_16var.C | 5 +- .../ConfigVertexingHF_Pb_AllCent.C | 7 +- .../ConfigVertexingHF_Pb_AllCent_NoLS.C | 7 +- .../ConfigVertexingHF_Pb_AllCent_NoLS_16var.C | 5 +- ...onfigVertexingHF_Pb_AllCent_NoLS_NoDstar.C | 37 ++++--- ...ertexingHF_Pb_AllCent_NoLS_NoDstar_16var.C | 33 +++--- .../ConfigVertexingHF_Pb_Cent2080.C | 29 ++--- .../vertexingHF/ConfigVertexingHF_highmult.C | 5 +- .../ConfigVertexingHF_pp_LambdaC.C | 19 ++-- 16 files changed, 202 insertions(+), 121 deletions(-) diff --git a/PWGHF/vertexingHF/AliAnalysisVertexingHF.cxx b/PWGHF/vertexingHF/AliAnalysisVertexingHF.cxx index 0bbd94c94f9..66cf3b8d2ad 100644 --- a/PWGHF/vertexingHF/AliAnalysisVertexingHF.cxx +++ b/PWGHF/vertexingHF/AliAnalysisVertexingHF.cxx @@ -109,6 +109,7 @@ fCutsDStartoKpipi(0x0), fListOfCuts(0x0), fFindVertexForDstar(kTRUE), fFindVertexForCascades(kTRUE), +fV0TypeForCascadeVertex(0), fMassCutBeforeVertexing(kFALSE), fMassCalc2(0), fMassCalc3(0), @@ -181,6 +182,7 @@ fCutsDStartoKpipi(source.fCutsDStartoKpipi), fListOfCuts(source.fListOfCuts), fFindVertexForDstar(source.fFindVertexForDstar), fFindVertexForCascades(source.fFindVertexForCascades), +fV0TypeForCascadeVertex(source.fV0TypeForCascadeVertex), fMassCutBeforeVertexing(source.fMassCutBeforeVertexing), fMassCalc2(source.fMassCalc2), fMassCalc3(source.fMassCalc3), @@ -250,6 +252,7 @@ AliAnalysisVertexingHF &AliAnalysisVertexingHF::operator=(const AliAnalysisVerte fListOfCuts = source.fListOfCuts; fFindVertexForDstar = source.fFindVertexForDstar; fFindVertexForCascades = source.fFindVertexForCascades; + fV0TypeForCascadeVertex = source.fV0TypeForCascadeVertex; fMassCutBeforeVertexing = source.fMassCutBeforeVertexing; fMassCalc2 = source.fMassCalc2; fMassCalc3 = source.fMassCalc3; @@ -334,6 +337,10 @@ TList *AliAnalysisVertexingHF::FillListOfCuts() { list->Add(cutsDStartoKpipi); } + //___ Check consitstency of cuts between vertexer and analysis tasks + Bool_t bCutsOk = CheckCutsConsistency(); + if (bCutsOk == kFALSE) {AliFatal("AliAnalysisVertexingHF::FillListOfCuts vertexing and the analysis task cuts are not consistent!");} + // keep a pointer to the list fListOfCuts = list; @@ -571,6 +578,11 @@ void AliAnalysisVertexingHF::FindCandidates(AliVEvent *event, if ( (!v0 || !v0->IsA()->InheritsFrom("AliAODv0") ) && (!esdV0 || !esdV0->IsA()->InheritsFrom("AliESDv0") ) ) continue; + if ( v0 && ((v0->GetOnFlyStatus() == kTRUE && fV0TypeForCascadeVertex == AliRDHFCuts::kOnlyOfflineV0s) || + (v0->GetOnFlyStatus() == kFALSE && fV0TypeForCascadeVertex == AliRDHFCuts::kOnlyOnTheFlyV0s)) ) continue; + + if ( esdV0 && ((esdV0->GetOnFlyStatus() == kTRUE && fV0TypeForCascadeVertex == AliRDHFCuts::kOnlyOfflineV0s) || + ( esdV0->GetOnFlyStatus() == kFALSE && fV0TypeForCascadeVertex == AliRDHFCuts::kOnlyOnTheFlyV0s)) ) continue; // Get the tracks that form the V0 // ( parameters at primary vertex ) @@ -2766,3 +2778,22 @@ void AliAnalysisVertexingHF::SetMasses(){ fMassDstar=TDatabasePDG::Instance()->GetParticle(413)->Mass(); fMassJpsi=TDatabasePDG::Instance()->GetParticle(443)->Mass(); } +//----------------------------------------------------------------------------- +Bool_t AliAnalysisVertexingHF::CheckCutsConsistency(){ + // + // Check the Vertexer and the analysts task consitstecny + // + + + //___ Check if the V0 type from AliRDHFCutsLctoV0 is the same as the one set in the ConfigVertexingHF.C for AliAnalysisVertexingHF + + + if ( fCutsLctoV0 && fV0TypeForCascadeVertex != fCutsLctoV0->GetV0Type()) + { + printf("ERROR: V0 type doesn not match in AliAnalysisVertexingHF (%d) required in AliRDHFCutsLctoV0 (%d)\n",fV0TypeForCascadeVertex,fCutsLctoV0->GetV0Type()); + return kFALSE; + } + return kTRUE; +} +//----------------------------------------------------------------------------- + diff --git a/PWGHF/vertexingHF/AliAnalysisVertexingHF.h b/PWGHF/vertexingHF/AliAnalysisVertexingHF.h index 57c049cb984..02d1f6299c9 100644 --- a/PWGHF/vertexingHF/AliAnalysisVertexingHF.h +++ b/PWGHF/vertexingHF/AliAnalysisVertexingHF.h @@ -101,6 +101,10 @@ class AliAnalysisVertexingHF : public TNamed { Bool_t GetRmTrksFromPrimVtx() const {return fRmTrksFromPrimVtx;} void SetFindVertexForDstar(Bool_t vtx=kTRUE) { fFindVertexForDstar=vtx; } void SetFindVertexForCascades(Bool_t vtx=kTRUE) { fFindVertexForCascades=vtx; } + + void SetV0TypeForCascadeVertex(Int_t type) {fV0TypeForCascadeVertex = type;} + Int_t GetV0TypeForCascadeVertex() { return fV0TypeForCascadeVertex;} + void SetRecoPrimVtxSkippingTrks() { fRecoPrimVtxSkippingTrks=kTRUE; fRmTrksFromPrimVtx=kFALSE;} void UnsetRecoPrimVtxSkippingTrks() @@ -158,6 +162,8 @@ class AliAnalysisVertexingHF : public TNamed { void SetMassCutBeforeVertexing(Bool_t flag) { fMassCutBeforeVertexing=flag; } void SetMasses(); + Bool_t CheckCutsConsistency(); + void SetUseKaonPIDfor3Prong(Bool_t opt=kTRUE){fUseKaonPIDfor3Prong=opt;} void SetnSigmaTOFforKaonSel(Double_t nsl, Double_t nsh){ fnSigmaTOFKaonLow=nsl; fnSigmaTOFKaonHi=nsh;} @@ -220,6 +226,7 @@ class AliAnalysisVertexingHF : public TNamed { TList *fListOfCuts; // pointer to list of cuts for output file Bool_t fFindVertexForDstar; // reconstruct a secondary vertex or assume it's from the primary vertex Bool_t fFindVertexForCascades; // reconstruct a secondary vertex or assume it's from the primary vertex + Int_t fV0TypeForCascadeVertex; // Select which V0 type we want to use for the cascas Bool_t fMassCutBeforeVertexing; // to go faster in PbPb // dummies for invariant mass calculation AliAODRecoDecay *fMassCalc2; // for 2 prong @@ -307,7 +314,7 @@ class AliAnalysisVertexingHF : public TNamed { TObjArray *twoTrackArrayV0); // - ClassDef(AliAnalysisVertexingHF,21); // Reconstruction of HF decay candidates + ClassDef(AliAnalysisVertexingHF,22); // Reconstruction of HF decay candidates }; diff --git a/PWGHF/vertexingHF/AliRDHFCuts.h b/PWGHF/vertexingHF/AliRDHFCuts.h index ebd1ec1ef72..2f81ac03a04 100644 --- a/PWGHF/vertexingHF/AliRDHFCuts.h +++ b/PWGHF/vertexingHF/AliRDHFCuts.h @@ -30,6 +30,8 @@ class AliRDHFCuts : public AliAnalysisCuts enum EPileup {kNoPileupSelection,kRejectPileupEvent,kRejectTracksFromPileupVertex}; enum ESele {kD0toKpiCuts,kD0toKpiPID,kD0fromDstarCuts,kD0fromDstarPID,kDplusCuts,kDplusPID,kDsCuts,kDsPID,kLcCuts,kLcPID,kDstarCuts,kDstarPID}; enum ERejBits {kNotSelTrigger,kNoVertex,kTooFewVtxContrib,kZVtxOutFid,kPileupSPD,kOutsideCentrality,kPhysicsSelection,kBadSPDVertex,kZVtxSPDOutFid,kCentralityFlattening}; + enum EV0sel {kAllV0s = 0, kOnlyOfflineV0s = 1, kOnlyOnTheFlyV0s = 2}; + AliRDHFCuts(const Char_t* name="RDHFCuts", const Char_t* title=""); virtual ~AliRDHFCuts(); @@ -323,7 +325,7 @@ class AliRDHFCuts : public AliAnalysisCuts Bool_t fUseTrackSelectionWithFilterBits; // flag to enable/disable the check on filter bits TH1F *fHistCentrDistr; // histogram with reference centrality distribution for centrality distribution flattening - ClassDef(AliRDHFCuts,28); // base class for cuts on AOD reconstructed heavy-flavour decays + ClassDef(AliRDHFCuts,29); // base class for cuts on AOD reconstructed heavy-flavour decays }; #endif diff --git a/PWGHF/vertexingHF/AliRDHFCutsLctoV0.cxx b/PWGHF/vertexingHF/AliRDHFCutsLctoV0.cxx index be2d818f742..13938f2bf9a 100644 --- a/PWGHF/vertexingHF/AliRDHFCutsLctoV0.cxx +++ b/PWGHF/vertexingHF/AliRDHFCutsLctoV0.cxx @@ -41,20 +41,21 @@ using std::endl; ClassImp(AliRDHFCutsLctoV0) //-------------------------------------------------------------------------- - AliRDHFCutsLctoV0::AliRDHFCutsLctoV0(const char* name, Short_t /*v0channel*/) : + AliRDHFCutsLctoV0::AliRDHFCutsLctoV0(const char* name, Short_t /*v0channel*/) : AliRDHFCuts(name), fPidSelectionFlag(0), fPidHFV0pos(0), fPidHFV0neg(0), - fV0daughtersCuts(0) + fV0daughtersCuts(0), + fV0Type(0) { // // Default Constructor // - Int_t nvars=9; + const Int_t nvars=10; SetNVars(nvars); - TString varNames[9]={"inv. mass if K0S [GeV/c2]", + TString varNames[nvars]={"inv. mass if K0S [GeV/c2]", "inv. mass if Lambda [GeV/c2]", "inv. mass V0 if K0S [GeV/c2]", "inv. mass V0 if Lambda [GeV/c2]", @@ -62,19 +63,23 @@ ClassImp(AliRDHFCutsLctoV0) "pT min V0-positive track [GeV/c]", "pT min V0-negative track [GeV/c]", "dca cascade cut [cm]", - "dca V0 cut [cm]"}; + "dca V0 cut [cm]", + "V0 type" + }; - Bool_t isUpperCut[9]={kTRUE, - kTRUE, - kTRUE, + Bool_t isUpperCut[nvars]={kTRUE, + kTRUE, + kTRUE, kTRUE, kFALSE, kFALSE, kFALSE, kTRUE, - kTRUE}; + kTRUE, + kTRUE + }; SetVarNames(nvars,varNames,isUpperCut); - Bool_t forOpt[9]={kFALSE, + Bool_t forOpt[nvars]={kFALSE, kFALSE, kTRUE, kTRUE, @@ -82,8 +87,10 @@ ClassImp(AliRDHFCutsLctoV0) kTRUE, kTRUE, kTRUE, - kTRUE}; - SetVarsForOpt(9,forOpt); // It was 5: why only 5? And which ones? + kTRUE, + kTRUE + }; + SetVarsForOpt(nvars,forOpt); // It was 5: why only 5? And which ones? Float_t limits[2]={0,999999999.}; SetPtBins(2,limits); @@ -109,7 +116,9 @@ AliRDHFCutsLctoV0::AliRDHFCutsLctoV0(const AliRDHFCutsLctoV0 &source) : fPidSelectionFlag(0), fPidHFV0pos(0), fPidHFV0neg(0), - fV0daughtersCuts(0)/* + fV0daughtersCuts(0), + fV0Type(0) + /* fV0channel(source.fV0channel)*/ { // @@ -144,7 +153,7 @@ AliRDHFCutsLctoV0 &AliRDHFCutsLctoV0::operator=(const AliRDHFCutsLctoV0 &source) delete fV0daughtersCuts; fV0daughtersCuts = new AliESDtrackCuts(*(source.fV0daughtersCuts)); - //fV0channel = source.fV0channel; + fV0Type = source.fV0Type; } @@ -156,7 +165,7 @@ AliRDHFCutsLctoV0 &AliRDHFCutsLctoV0::operator=(const AliRDHFCutsLctoV0 &source) AliRDHFCutsLctoV0::~AliRDHFCutsLctoV0() { // // // Default Destructor - // + // if (fPidHFV0pos) { delete fPidHFV0pos; @@ -176,8 +185,8 @@ AliRDHFCutsLctoV0::~AliRDHFCutsLctoV0() { //--------------------------------------------------------------------------- void AliRDHFCutsLctoV0::GetCutVarsForOpt(AliAODRecoDecayHF *d,Float_t *vars,Int_t nvars,Int_t *pdgdaughters) { - // - // Fills in vars the values of the variables + // + // Fills in vars the values of the variables // if (pdgdaughters[0]==-9999) return; // dummy @@ -193,7 +202,7 @@ void AliRDHFCutsLctoV0::GetCutVarsForOpt(AliAODRecoDecayHF *d,Float_t *vars,Int_ AliAODTrack *bachelorTrack = (AliAODTrack*)dd->GetBachelor(); AliAODv0 *v0 = (AliAODv0*)dd->Getv0(); AliAODTrack *v0positiveTrack = (AliAODTrack*)dd->Getv0PositiveTrack(); - AliAODTrack *v0negativeTrack = (AliAODTrack*)dd->Getv0NegativeTrack(); + AliAODTrack *v0negativeTrack = (AliAODTrack*)dd->Getv0NegativeTrack(); Int_t iter=-1; // cut on cascade mass, if K0S + p @@ -250,7 +259,7 @@ void AliRDHFCutsLctoV0::GetCutVarsForOpt(AliAODRecoDecayHF *d,Float_t *vars,Int_ iter++; vars[iter]=dd->GetDCA(); // prong-to-prong DCA } - + // cut on V0 dca if (fVarsForOpt[8]) { iter++; @@ -296,16 +305,18 @@ Int_t AliRDHFCutsLctoV0::IsSelected(TObject* obj,Int_t selectionLevel) { return 0; } + + // Get the V0 daughter tracks AliAODTrack *v0positiveTrack = (AliAODTrack*)d->Getv0PositiveTrack(); - AliAODTrack *v0negativeTrack = (AliAODTrack*)d->Getv0NegativeTrack(); + AliAODTrack *v0negativeTrack = (AliAODTrack*)d->Getv0NegativeTrack(); if (!v0positiveTrack || !v0negativeTrack ) { AliDebug(2,"No V0 daughters' objects"); return 0; } - // selection on daughter tracks - if (selectionLevel==AliRDHFCuts::kAll || + // selection on daughter tracks + if (selectionLevel==AliRDHFCuts::kAll || selectionLevel==AliRDHFCuts::kTracks) { if (fIsCandTrackSPDFirst && d->Pt()Pt(); Int_t ptbin = PtBin(pt); - + Double_t mLcPDG = TDatabasePDG::Instance()->GetParticle(4122)->Mass(); Double_t mk0sPDG = TDatabasePDG::Instance()->GetParticle(310)->Mass(); Double_t mLPDG = TDatabasePDG::Instance()->GetParticle(3122)->Mass(); @@ -341,7 +352,7 @@ Int_t AliRDHFCutsLctoV0::IsSelected(TObject* obj,Int_t selectionLevel) { Double_t mk0s = v0->MassK0Short(); Double_t mLck0sp = d->InvMassLctoK0sP(); - // Lambda + pi + // Lambda + pi Double_t mlambda = v0->MassLambda(); Double_t malambda = v0->MassAntiLambda(); Double_t mLcLpi = d->InvMassLctoLambdaPi(); @@ -353,7 +364,7 @@ Int_t AliRDHFCutsLctoV0::IsSelected(TObject* obj,Int_t selectionLevel) { } // cuts on the V0 mass: K0S case - if (TMath::Abs(mk0s-mk0sPDG)>fCutsRD[GetGlobalIndex(2,ptbin)]) { + if (TMath::Abs(mk0s-mk0sPDG)>fCutsRD[GetGlobalIndex(2,ptbin)]) { okK0spipi = kFALSE; AliDebug(4,Form(" V0 mass is %2.2e and does not correspond to K0S cut",mk0s)); } @@ -382,7 +393,7 @@ Int_t AliRDHFCutsLctoV0::IsSelected(TObject* obj,Int_t selectionLevel) { if (!okLck0sp && !okLcLpi && !okLcLBarpi) return 0; - // cuts on the minimum pt of the tracks + // cuts on the minimum pt of the tracks if (TMath::Abs(bachelorTrack->Pt()) < fCutsRD[GetGlobalIndex(4,ptbin)]) { AliDebug(4,Form(" bachelor track Pt=%2.2e > %2.2e",bachelorTrack->Pt(),fCutsRD[GetGlobalIndex(4,ptbin)])); return 0; @@ -432,8 +443,8 @@ Int_t AliRDHFCutsLctoV0::IsSelected(TObject* obj,Int_t selectionLevel) { Int_t returnvaluePID = 7; // selection on candidate - if (selectionLevel==AliRDHFCuts::kAll || - //selectionLevel==AliRDHFCuts::kCandidate || + if (selectionLevel==AliRDHFCuts::kAll || + //selectionLevel==AliRDHFCuts::kCandidate || selectionLevel==AliRDHFCuts::kPID ) returnvaluePID = IsSelectedPID(d); @@ -595,7 +606,7 @@ Int_t AliRDHFCutsLctoV0::IsSelectedSingleCut(TObject* obj, Int_t selectionLevel, } // not used - //if ( fUseTrackSelectionWithFilterBits && + //if ( fUseTrackSelectionWithFilterBits && //!(bachelorTrack->TestFilterMask(BIT(4))) ) return 0; AliAODv0 *v0 = (AliAODv0*)d->Getv0(); @@ -606,14 +617,14 @@ Int_t AliRDHFCutsLctoV0::IsSelectedSingleCut(TObject* obj, Int_t selectionLevel, // Get the V0 daughter tracks AliAODTrack *v0positiveTrack = (AliAODTrack*)d->Getv0PositiveTrack(); - AliAODTrack *v0negativeTrack = (AliAODTrack*)d->Getv0NegativeTrack(); + AliAODTrack *v0negativeTrack = (AliAODTrack*)d->Getv0NegativeTrack(); if (!v0positiveTrack || !v0negativeTrack ) { AliDebug(2,"No V0 daughters' objects"); return 0; } - // selection on daughter tracks - if (selectionLevel==AliRDHFCuts::kAll || + // selection on daughter tracks + if (selectionLevel==AliRDHFCuts::kAll || selectionLevel==AliRDHFCuts::kTracks) { if (fIsCandTrackSPDFirst && d->Pt()Pt(); @@ -648,7 +659,7 @@ Int_t AliRDHFCutsLctoV0::IsSelectedSingleCut(TObject* obj, Int_t selectionLevel, Double_t mk0s = v0->MassK0Short(); Double_t mLck0sp = d->InvMassLctoK0sP(); - // Lambda + pi + // Lambda + pi Double_t mlambda = v0->MassLambda(); Double_t malambda = v0->MassAntiLambda(); Double_t mLcLpi = d->InvMassLctoLambdaPi(); @@ -736,8 +747,8 @@ Int_t AliRDHFCutsLctoV0::IsSelectedSingleCut(TObject* obj, Int_t selectionLevel, Int_t returnvaluePID = 7; // selection on PID - if (selectionLevel==AliRDHFCuts::kAll || - //selectionLevel==AliRDHFCuts::kCandidate || + if (selectionLevel==AliRDHFCuts::kAll || + //selectionLevel==AliRDHFCuts::kCandidate || selectionLevel==AliRDHFCuts::kPID ) returnvaluePID = IsSelectedPID(d); */ @@ -765,7 +776,7 @@ void AliRDHFCutsLctoV0::SetStandardCutsPP2010() { esdTrackCuts->SetMinNClustersITS(0);//(4); // default is 5 esdTrackCuts->SetMinNClustersTPC(70); //esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD, - // AliESDtrackCuts::kAny); + // AliESDtrackCuts::kAny); // default is kBoth, otherwise kAny esdTrackCuts->SetMinDCAToVertexXY(0.); esdTrackCuts->SetPtRange(0.3,1.e10); @@ -782,7 +793,7 @@ void AliRDHFCutsLctoV0::SetStandardCutsPP2010() { esdTrackCutsV0daughters->SetMinNClustersITS(0);//(4); // default is 5 esdTrackCutsV0daughters->SetMinNClustersTPC(70); //esdTrackCutsV0daughters->SetClusterRequirementITS(AliESDtrackCuts::kSPD, - // AliESDtrackCuts::kAny); + // AliESDtrackCuts::kAny); // default is kBoth, otherwise kAny esdTrackCutsV0daughters->SetMinDCAToVertexXY(0.); esdTrackCutsV0daughters->SetPtRange(0.,1.e10); @@ -896,10 +907,23 @@ void AliRDHFCutsLctoV0::SetStandardCutsPbPb2011() { // // Enable all 2011 PbPb run triggers - // + // SetTriggerClass(""); ResetMaskAndEnableMBTrigger(); EnableCentralTrigger(); EnableSemiCentralTrigger(); } +//----------------------- +Int_t AliRDHFCutsLctoV0::GetV0Type(){ + + const Int_t nvars = this->GetNVars() ; + //Float_t *vArray =GetCuts(); + //fV0Type = vArray[nvars-1]; + fV0Type = (this->GetCuts())[nvars-1]; + //this->GetCuts(vArray); + TString *sVarNames=GetVarNames(); + + if(sVarNames[nvars-1].Contains("V0 type")) return (Int_t)fV0Type; + else {AliInfo("AliRDHFCutsLctoV0 Last variable is not the Vo type!!!"); return -999;} +} diff --git a/PWGHF/vertexingHF/AliRDHFCutsLctoV0.h b/PWGHF/vertexingHF/AliRDHFCutsLctoV0.h index b6cbfa74d82..f5b0b167764 100644 --- a/PWGHF/vertexingHF/AliRDHFCutsLctoV0.h +++ b/PWGHF/vertexingHF/AliRDHFCutsLctoV0.h @@ -3,7 +3,7 @@ /* Copyright(c) 1998-2010, ALICE Experiment at CERN, All rights reserved. * * See cxx source for full Copyright notice */ -/* $Id$ */ +/* $Id$ */ //*********************************************************** // Class AliRDHFCutsLctoV0 @@ -13,7 +13,7 @@ #include "AliAODPidHF.h" #include "AliRDHFCuts.h" -class AliRDHFCutsLctoV0 : public AliRDHFCuts +class AliRDHFCutsLctoV0 : public AliRDHFCuts { public: @@ -29,18 +29,18 @@ class AliRDHFCutsLctoV0 : public AliRDHFCuts }; AliRDHFCutsLctoV0(const char* name="CutsLctoV0", Short_t v0channel=0); - + virtual ~AliRDHFCutsLctoV0(); AliRDHFCutsLctoV0(const AliRDHFCutsLctoV0& source); - AliRDHFCutsLctoV0& operator=(const AliRDHFCutsLctoV0& source); - + AliRDHFCutsLctoV0& operator=(const AliRDHFCutsLctoV0& source); + using AliRDHFCuts::GetCutVarsForOpt; virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d,Float_t *vars,Int_t nvars,Int_t *pdgdaughters); using AliRDHFCuts::IsSelected; virtual Int_t IsSelected(TObject* obj,Int_t selectionLevel); - + using AliRDHFCuts::IsSelectedPID; virtual Int_t IsSelectedPID(AliAODRecoDecayHF* obj); @@ -54,6 +54,8 @@ class AliRDHFCutsLctoV0 : public AliRDHFCuts void SetPidSelectionFlag(Int_t a) {fPidSelectionFlag=a;} Int_t GetPidSelectionFlag() {return fPidSelectionFlag;} + Int_t GetV0Type(); + virtual void SetStandardCutsPP2010(); virtual void SetStandardCutsPbPb2010(); virtual void SetStandardCutsPbPb2011(); @@ -86,9 +88,11 @@ class AliRDHFCutsLctoV0 : public AliRDHFCuts AliAODPidHF *fPidHFV0pos; AliAODPidHF *fPidHFV0neg; AliESDtrackCuts *fV0daughtersCuts; // cuts for v0 daughters (AOD converted to ESD on the flight!) + Float_t fV0Type; // V0 type -- should be defined as in AliRDHFCuts.h + //UShort_t fV0channel; - ClassDef(AliRDHFCutsLctoV0,3); // class for cuts on AOD reconstructed Lc->V0+bachelor + ClassDef(AliRDHFCutsLctoV0,4); // class for cuts on AOD reconstructed Lc->V0+bachelor }; #endif diff --git a/PWGHF/vertexingHF/ConfigVertexingHF.C b/PWGHF/vertexingHF/ConfigVertexingHF.C index eaf6a6e6609..a650b9380b0 100644 --- a/PWGHF/vertexingHF/ConfigVertexingHF.C +++ b/PWGHF/vertexingHF/ConfigVertexingHF.C @@ -15,6 +15,7 @@ AliAnalysisVertexingHF* ConfigVertexingHF() { //vHF->SetSecVtxWithKF(); // vHF->SetCascadesOff(); vHF->SetFindVertexForCascades(kFALSE); + vHF->SetV0TypeForCascadeVertex(AliRDHFCuts::kAllV0s); //--- set cuts for single-track selection // displaced tracks @@ -80,8 +81,8 @@ AliAnalysisVertexingHF* ConfigVertexingHF() { cutsDStartoKpipi->AddTrackCutsSoftPi(esdTrackCutsSoftPi); vHF->SetCutsDStartoKpipi(cutsDStartoKpipi); AliRDHFCutsLctoV0 *cutsLctoV0 = new AliRDHFCutsLctoV0("CutsLctoV0"); - Float_t cutsArrayLctoV0[9]={4.0,4.0,2.0,2.0,0.0,0.0,0.0,1000.,1000.}; - cutsLctoV0->SetCuts(9,cutsArrayLctoV0); + Float_t cutsArrayLctoV0[10]={4.0,4.0,2.0,2.0,0.0,0.0,0.0,1000.,1000.,0.0}; + cutsLctoV0->SetCuts(10,cutsArrayLctoV0); cutsLctoV0->AddTrackCuts(esdTrackCuts); vHF->SetCutsLctoV0(cutsLctoV0); // diff --git a/PWGHF/vertexingHF/ConfigVertexingHF_ITSUpgrade.C b/PWGHF/vertexingHF/ConfigVertexingHF_ITSUpgrade.C index 0825c8c903b..56ed5b20cf2 100644 --- a/PWGHF/vertexingHF/ConfigVertexingHF_ITSUpgrade.C +++ b/PWGHF/vertexingHF/ConfigVertexingHF_ITSUpgrade.C @@ -17,6 +17,7 @@ AliAnalysisVertexingHF* ConfigVertexingHF() { vHF->SetCascadesOff(); vHF->SetFindVertexForCascades(kFALSE); vHF->SetMassCutBeforeVertexing(kTRUE); // PbPb + vHF->SetV0TypeForCascadeVertex(AliRDHFCuts::kAllV0s); //--- set cuts for single-track selection // displaced tracks @@ -168,8 +169,8 @@ AliAnalysisVertexingHF* ConfigVertexingHF() { //-------------------------------------------------------- AliRDHFCutsLctoV0 *cutsLctoV0 = new AliRDHFCutsLctoV0("CutsLctoV0"); - Float_t cutsArrayLctoV0[9]={4.0,4.0,2.0,2.0,0.0,0.0,0.0,1000.,1000.}; - cutsLctoV0->SetCuts(9,cutsArrayLctoV0); + Float_t cutsArrayLctoV0[10]={4.0,4.0,2.0,2.0,0.0,0.0,0.0,1000.,1000.,0.0}; + cutsLctoV0->SetCuts(10,cutsArrayLctoV0); cutsLctoV0->AddTrackCuts(esdTrackCuts); vHF->SetCutsLctoV0(cutsLctoV0); // diff --git a/PWGHF/vertexingHF/ConfigVertexingHF_ITSUpgrade_16var.C b/PWGHF/vertexingHF/ConfigVertexingHF_ITSUpgrade_16var.C index 06a24c0ad07..e54f28d9c31 100644 --- a/PWGHF/vertexingHF/ConfigVertexingHF_ITSUpgrade_16var.C +++ b/PWGHF/vertexingHF/ConfigVertexingHF_ITSUpgrade_16var.C @@ -17,6 +17,7 @@ AliAnalysisVertexingHF* ConfigVertexingHF() { vHF->SetCascadesOff(); vHF->SetFindVertexForCascades(kFALSE); vHF->SetMassCutBeforeVertexing(kTRUE); // PbPb + vHF->SetV0TypeForCascadeVertex(AliRDHFCuts::kAllV0s); //--- set cuts for single-track selection // displaced tracks @@ -168,8 +169,8 @@ AliAnalysisVertexingHF* ConfigVertexingHF() { //-------------------------------------------------------- AliRDHFCutsLctoV0 *cutsLctoV0 = new AliRDHFCutsLctoV0("CutsLctoV0"); - Float_t cutsArrayLctoV0[9]={4.0,4.0,2.0,2.0,0.0,0.0,0.0,1000.,1000.}; - cutsLctoV0->SetCuts(9,cutsArrayLctoV0); + Float_t cutsArrayLctoV0[10]={4.0,4.0,2.0,2.0,0.0,0.0,0.0,1000.,1000.,0.0}; + cutsLctoV0->SetCuts(10,cutsArrayLctoV0); cutsLctoV0->AddTrackCuts(esdTrackCuts); vHF->SetCutsLctoV0(cutsLctoV0); // diff --git a/PWGHF/vertexingHF/ConfigVertexingHF_Pb_AllCent.C b/PWGHF/vertexingHF/ConfigVertexingHF_Pb_AllCent.C index f3243a8c836..05403b288bc 100644 --- a/PWGHF/vertexingHF/ConfigVertexingHF_Pb_AllCent.C +++ b/PWGHF/vertexingHF/ConfigVertexingHF_Pb_AllCent.C @@ -17,7 +17,8 @@ AliAnalysisVertexingHF* ConfigVertexingHF() { vHF->SetCascadesOff(); vHF->SetFindVertexForCascades(kFALSE); vHF->SetMassCutBeforeVertexing(kTRUE); // PbPb - + vHF->SetV0TypeForCascadeVertex(AliRDHFCuts::kAllV0s); + //--- set cuts for single-track selection // displaced tracks AliESDtrackCuts *esdTrackCuts = new AliESDtrackCuts("AliESDtrackCuts","default"); @@ -204,8 +205,8 @@ AliAnalysisVertexingHF* ConfigVertexingHF() { //-------------------------------------------------------- AliRDHFCutsLctoV0 *cutsLctoV0 = new AliRDHFCutsLctoV0("CutsLctoV0"); - Float_t cutsArrayLctoV0[9]={4.0,4.0,2.0,2.0,0.0,0.0,0.0,1000.,1000.}; - cutsLctoV0->SetCuts(9,cutsArrayLctoV0); + Float_t cutsArrayLctoV0[10]={4.0,4.0,2.0,2.0,0.0,0.0,0.0,1000.,1000.,0.0}; + cutsLctoV0->SetCuts(10,cutsArrayLctoV0); cutsLctoV0->AddTrackCuts(esdTrackCuts); vHF->SetCutsLctoV0(cutsLctoV0); // diff --git a/PWGHF/vertexingHF/ConfigVertexingHF_Pb_AllCent_NoLS.C b/PWGHF/vertexingHF/ConfigVertexingHF_Pb_AllCent_NoLS.C index e4e3ade5f05..74197d41998 100644 --- a/PWGHF/vertexingHF/ConfigVertexingHF_Pb_AllCent_NoLS.C +++ b/PWGHF/vertexingHF/ConfigVertexingHF_Pb_AllCent_NoLS.C @@ -17,7 +17,8 @@ AliAnalysisVertexingHF* ConfigVertexingHF() { vHF->SetCascadesOff(); vHF->SetFindVertexForCascades(kFALSE); vHF->SetMassCutBeforeVertexing(kTRUE); // PbPb - + vHF->SetV0TypeForCascadeVertex(AliRDHFCuts::kAllV0s); + //--- set cuts for single-track selection // displaced tracks AliESDtrackCuts *esdTrackCuts = new AliESDtrackCuts("AliESDtrackCuts","default"); @@ -203,8 +204,8 @@ AliAnalysisVertexingHF* ConfigVertexingHF() { //-------------------------------------------------------- AliRDHFCutsLctoV0 *cutsLctoV0 = new AliRDHFCutsLctoV0("CutsLctoV0"); - Float_t cutsArrayLctoV0[9]={4.0,4.0,2.0,2.0,0.0,0.0,0.0,1000.,1000.}; - cutsLctoV0->SetCuts(9,cutsArrayLctoV0); + Float_t cutsArrayLctoV0[10]={4.0,4.0,2.0,2.0,0.0,0.0,0.0,1000.,1000.,0.0}; + cutsLctoV0->SetCuts(10,cutsArrayLctoV0); cutsLctoV0->AddTrackCuts(esdTrackCuts); vHF->SetCutsLctoV0(cutsLctoV0); // diff --git a/PWGHF/vertexingHF/ConfigVertexingHF_Pb_AllCent_NoLS_16var.C b/PWGHF/vertexingHF/ConfigVertexingHF_Pb_AllCent_NoLS_16var.C index 72912721bb0..7ab27249b6d 100644 --- a/PWGHF/vertexingHF/ConfigVertexingHF_Pb_AllCent_NoLS_16var.C +++ b/PWGHF/vertexingHF/ConfigVertexingHF_Pb_AllCent_NoLS_16var.C @@ -17,6 +17,7 @@ AliAnalysisVertexingHF* ConfigVertexingHF() { vHF->SetCascadesOff(); vHF->SetFindVertexForCascades(kFALSE); vHF->SetMassCutBeforeVertexing(kTRUE); // PbPb + vHF->SetV0TypeForCascadeVertex(AliRDHFCuts::kAllV0s); //--- set cuts for single-track selection // displaced tracks @@ -203,8 +204,8 @@ AliAnalysisVertexingHF* ConfigVertexingHF() { //-------------------------------------------------------- AliRDHFCutsLctoV0 *cutsLctoV0 = new AliRDHFCutsLctoV0("CutsLctoV0"); - Float_t cutsArrayLctoV0[9]={4.0,4.0,2.0,2.0,0.0,0.0,0.0,1000.,1000.}; - cutsLctoV0->SetCuts(9,cutsArrayLctoV0); + Float_t cutsArrayLctoV0[10]={4.0,4.0,2.0,2.0,0.0,0.0,0.0,1000.,1000.,0.0}; + cutsLctoV0->SetCuts(10,cutsArrayLctoV0); cutsLctoV0->AddTrackCuts(esdTrackCuts); vHF->SetCutsLctoV0(cutsLctoV0); // diff --git a/PWGHF/vertexingHF/ConfigVertexingHF_Pb_AllCent_NoLS_NoDstar.C b/PWGHF/vertexingHF/ConfigVertexingHF_Pb_AllCent_NoLS_NoDstar.C index d446dee5945..764548afb15 100644 --- a/PWGHF/vertexingHF/ConfigVertexingHF_Pb_AllCent_NoLS_NoDstar.C +++ b/PWGHF/vertexingHF/ConfigVertexingHF_Pb_AllCent_NoLS_NoDstar.C @@ -2,7 +2,7 @@ AliAnalysisVertexingHF* ConfigVertexingHF() { printf("Call to AliAnalysisVertexingHF parameters setting :\n"); vHF = new AliAnalysisVertexingHF(); - + //--- switch-off candidates finding (default: all on) //vHF->SetD0toKpiOff(); vHF->SetJPSItoEleOff(); @@ -17,9 +17,10 @@ AliAnalysisVertexingHF* ConfigVertexingHF() { vHF->SetCascadesOff(); vHF->SetFindVertexForCascades(kFALSE); vHF->SetMassCutBeforeVertexing(kTRUE); // PbPb - - //--- set cuts for single-track selection - // displaced tracks + vHF->SetV0TypeForCascadeVertex(AliRDHFCuts::kAllV0s); + + //--- set cuts for single-track selection + // displaced tracks AliESDtrackCuts *esdTrackCuts = new AliESDtrackCuts("AliESDtrackCuts","default"); esdTrackCuts->SetRequireTPCRefit(kTRUE); esdTrackCuts->SetMinNClustersTPC(70); @@ -47,7 +48,7 @@ AliAnalysisVertexingHF* ConfigVertexingHF() { AliESDtrackCuts::kAny); // |d0|>75 micron for pt<2GeV, no cut above 2 esdTrackCuts->SetMinDCAToVertexXYPtDep("0.0050*TMath::Max(0.,(1-TMath::Floor(TMath::Abs(pt)/2.)))"); - esdTrackCuts->SetMaxDCAToVertexXY(1.); + esdTrackCuts->SetMaxDCAToVertexXY(1.); esdTrackCuts->SetMaxDCAToVertexZ(1.); esdTrackCuts->SetPtRange(0.5,1.e10); esdTrackCuts->SetEtaRange(-0.8,+0.8); @@ -65,7 +66,7 @@ AliAnalysisVertexingHF* ConfigVertexingHF() { AliESDtrackCuts::kAny); // |d0|>75 micron for pt<2GeV, no cut above 2 esdTrackCuts->SetMinDCAToVertexXYPtDep("0.0075*TMath::Max(0.,(1-TMath::Floor(TMath::Abs(pt)/2.)))"); - esdTrackCuts->SetMaxDCAToVertexXY(1.); + esdTrackCuts->SetMaxDCAToVertexXY(1.); esdTrackCuts->SetMaxDCAToVertexZ(1.); esdTrackCuts->SetPtRange(0.6,1.e10); esdTrackCuts->SetEtaRange(-0.8,+0.8); @@ -76,7 +77,7 @@ AliAnalysisVertexingHF* ConfigVertexingHF() { // D* soft pion tracks AliESDtrackCuts *esdTrackCutsSoftPi = new AliESDtrackCuts("AliESDtrackCuts","default"); esdTrackCutsSoftPi->SetMinNClustersITS(3); - esdTrackCutsSoftPi->SetMaxDCAToVertexXY(1.); + esdTrackCutsSoftPi->SetMaxDCAToVertexXY(1.); esdTrackCutsSoftPi->SetMaxDCAToVertexZ(1.); esdTrackCutsSoftPi->SetPtRange(0.1,1.e10); esdTrackCutsSoftPi->SetEtaRange(-0.8,+0.8); @@ -144,15 +145,15 @@ AliAnalysisVertexingHF* ConfigVertexingHF() { cutsDStartoKpipi->SetUsePID(kFALSE); const Int_t nvars=16; const Int_t nptbins=2; - + Float_t* ptbins; ptbins=new Float_t[nptbins+1]; ptbins[0]=0.; ptbins[1]=5.; ptbins[2]=999.; - + cutsDStartoKpipi->SetPtBins(nptbins+1,ptbins); - + Float_t** rdcutsvalmine; rdcutsvalmine=new Float_t*[nvars]; for(Int_t iv=0;ivSetCuts(nvars,nptbins,rdcutsvalmine); - + cutsDStartoKpipi->AddTrackCuts(esdTrackCuts); cutsDStartoKpipi->AddTrackCutsSoftPi(esdTrackCutsSoftPi); cutsDStartoKpipi->SetMinPtCandidate(1.); @@ -202,17 +203,19 @@ AliAnalysisVertexingHF* ConfigVertexingHF() { //-------------------------------------------------------- + + AliRDHFCutsLctoV0 *cutsLctoV0 = new AliRDHFCutsLctoV0("CutsLctoV0"); - Float_t cutsArrayLctoV0[9]={4.0,4.0,2.0,2.0,0.0,0.0,0.0,1000.,1000.}; - cutsLctoV0->SetCuts(9,cutsArrayLctoV0); + Float_t cutsArrayLctoV0[10]={4.0,4.0,2.0,2.0,0.0,0.0,0.0,1000.,1000.,0.0}; + cutsLctoV0->SetCuts(10,cutsArrayLctoV0); cutsLctoV0->AddTrackCuts(esdTrackCuts); vHF->SetCutsLctoV0(cutsLctoV0); - // + // //--- set this if you want to reconstruct primary vertex candidate by - // candidate using other tracks in the event (for pp, broad + // candidate using other tracks in the event (for pp, broad // interaction region) //vHF->SetRecoPrimVtxSkippingTrks(); - //--- OR set this if you want to remove the candidate daughters from + //--- OR set this if you want to remove the candidate daughters from // the primary vertex, without recostructing it from scratch //vHF->SetRmTrksFromPrimVtx(); @@ -221,7 +224,7 @@ AliAnalysisVertexingHF* ConfigVertexingHF() { //--- verbose // AliLog::SetClassDebugLevel("AliAnalysisVertexingHF",2); - + return vHF; } diff --git a/PWGHF/vertexingHF/ConfigVertexingHF_Pb_AllCent_NoLS_NoDstar_16var.C b/PWGHF/vertexingHF/ConfigVertexingHF_Pb_AllCent_NoLS_NoDstar_16var.C index c08da532ad4..337c540bdaa 100644 --- a/PWGHF/vertexingHF/ConfigVertexingHF_Pb_AllCent_NoLS_NoDstar_16var.C +++ b/PWGHF/vertexingHF/ConfigVertexingHF_Pb_AllCent_NoLS_NoDstar_16var.C @@ -2,7 +2,7 @@ AliAnalysisVertexingHF* ConfigVertexingHF() { printf("Call to AliAnalysisVertexingHF parameters setting :\n"); vHF = new AliAnalysisVertexingHF(); - + //--- switch-off candidates finding (default: all on) //vHF->SetD0toKpiOff(); vHF->SetJPSItoEleOff(); @@ -17,9 +17,10 @@ AliAnalysisVertexingHF* ConfigVertexingHF() { vHF->SetCascadesOff(); vHF->SetFindVertexForCascades(kFALSE); vHF->SetMassCutBeforeVertexing(kTRUE); // PbPb + vHF->SetV0TypeForCascadeVertex(AliRDHFCuts::kAllV0s); - //--- set cuts for single-track selection - // displaced tracks + //--- set cuts for single-track selection + // displaced tracks AliESDtrackCuts *esdTrackCuts = new AliESDtrackCuts("AliESDtrackCuts","default"); esdTrackCuts->SetRequireTPCRefit(kTRUE); esdTrackCuts->SetMinNClustersTPC(70); @@ -47,7 +48,7 @@ AliAnalysisVertexingHF* ConfigVertexingHF() { AliESDtrackCuts::kAny); // |d0|>75 micron for pt<2GeV, no cut above 2 esdTrackCuts->SetMinDCAToVertexXYPtDep("0.0050*TMath::Max(0.,(1-TMath::Floor(TMath::Abs(pt)/2.)))"); - esdTrackCuts->SetMaxDCAToVertexXY(1.); + esdTrackCuts->SetMaxDCAToVertexXY(1.); esdTrackCuts->SetMaxDCAToVertexZ(1.); esdTrackCuts->SetPtRange(0.5,1.e10); esdTrackCuts->SetEtaRange(-0.8,+0.8); @@ -65,7 +66,7 @@ AliAnalysisVertexingHF* ConfigVertexingHF() { AliESDtrackCuts::kAny); // |d0|>75 micron for pt<2GeV, no cut above 2 esdTrackCuts->SetMinDCAToVertexXYPtDep("0.0075*TMath::Max(0.,(1-TMath::Floor(TMath::Abs(pt)/2.)))"); - esdTrackCuts->SetMaxDCAToVertexXY(1.); + esdTrackCuts->SetMaxDCAToVertexXY(1.); esdTrackCuts->SetMaxDCAToVertexZ(1.); esdTrackCuts->SetPtRange(0.6,1.e10); esdTrackCuts->SetEtaRange(-0.8,+0.8); @@ -76,7 +77,7 @@ AliAnalysisVertexingHF* ConfigVertexingHF() { // D* soft pion tracks AliESDtrackCuts *esdTrackCutsSoftPi = new AliESDtrackCuts("AliESDtrackCuts","default"); esdTrackCutsSoftPi->SetMinNClustersITS(3); - esdTrackCutsSoftPi->SetMaxDCAToVertexXY(1.); + esdTrackCutsSoftPi->SetMaxDCAToVertexXY(1.); esdTrackCutsSoftPi->SetMaxDCAToVertexZ(1.); esdTrackCutsSoftPi->SetPtRange(0.1,1.e10); esdTrackCutsSoftPi->SetEtaRange(-0.8,+0.8); @@ -145,15 +146,15 @@ AliAnalysisVertexingHF* ConfigVertexingHF() { cutsDStartoKpipi->SetUsePID(kFALSE); const Int_t nvars=16; const Int_t nptbins=2; - + Float_t* ptbins; ptbins=new Float_t[nptbins+1]; ptbins[0]=0.; ptbins[1]=5.; ptbins[2]=999.; - + cutsDStartoKpipi->SetPtBins(nptbins+1,ptbins); - + Float_t** rdcutsvalmine; rdcutsvalmine=new Float_t*[nvars]; for(Int_t iv=0;ivSetCuts(nvars,nptbins,rdcutsvalmine); - + cutsDStartoKpipi->AddTrackCuts(esdTrackCuts); cutsDStartoKpipi->AddTrackCutsSoftPi(esdTrackCutsSoftPi); cutsDStartoKpipi->SetMinPtCandidate(1.); @@ -204,16 +205,16 @@ AliAnalysisVertexingHF* ConfigVertexingHF() { //-------------------------------------------------------- AliRDHFCutsLctoV0 *cutsLctoV0 = new AliRDHFCutsLctoV0("CutsLctoV0"); - Float_t cutsArrayLctoV0[9]={4.0,4.0,2.0,2.0,0.0,0.0,0.0,1000.,1000.}; - cutsLctoV0->SetCuts(9,cutsArrayLctoV0); + Float_t cutsArrayLctoV0[10]={4.0,4.0,2.0,2.0,0.0,0.0,0.0,1000.,1000.,0.0}; + cutsLctoV0->SetCuts(10,cutsArrayLctoV0); cutsLctoV0->AddTrackCuts(esdTrackCuts); vHF->SetCutsLctoV0(cutsLctoV0); - // + // //--- set this if you want to reconstruct primary vertex candidate by - // candidate using other tracks in the event (for pp, broad + // candidate using other tracks in the event (for pp, broad // interaction region) //vHF->SetRecoPrimVtxSkippingTrks(); - //--- OR set this if you want to remove the candidate daughters from + //--- OR set this if you want to remove the candidate daughters from // the primary vertex, without recostructing it from scratch //vHF->SetRmTrksFromPrimVtx(); @@ -222,7 +223,7 @@ AliAnalysisVertexingHF* ConfigVertexingHF() { //--- verbose // AliLog::SetClassDebugLevel("AliAnalysisVertexingHF",2); - + return vHF; } diff --git a/PWGHF/vertexingHF/ConfigVertexingHF_Pb_Cent2080.C b/PWGHF/vertexingHF/ConfigVertexingHF_Pb_Cent2080.C index c0627a80104..f8a8e9b0217 100644 --- a/PWGHF/vertexingHF/ConfigVertexingHF_Pb_Cent2080.C +++ b/PWGHF/vertexingHF/ConfigVertexingHF_Pb_Cent2080.C @@ -2,7 +2,7 @@ AliAnalysisVertexingHF* ConfigVertexingHF() { printf("Call to AliAnalysisVertexingHF parameters setting :\n"); vHF = new AliAnalysisVertexingHF(); - + //--- switch-off candidates finding (default: all on) //vHF->SetD0toKpiOff(); vHF->SetJPSItoEleOff(); @@ -16,8 +16,9 @@ AliAnalysisVertexingHF* ConfigVertexingHF() { vHF->SetCascadesOff(); vHF->SetFindVertexForCascades(kFALSE); vHF->SetMassCutBeforeVertexing(kTRUE); // PbPb + vHF->SetV0TypeForCascadeVertex(AliRDHFCuts::kAllV0s); - //--- set cuts for single-track selection + //--- set cuts for single-track selection // displaced tracks AliESDtrackCuts *esdTrackCuts = new AliESDtrackCuts("AliESDtrackCuts","default"); esdTrackCuts->SetRequireTPCRefit(kTRUE); @@ -38,7 +39,7 @@ AliAnalysisVertexingHF* ConfigVertexingHF() { // D* soft pion tracks AliESDtrackCuts *esdTrackCutsSoftPi = new AliESDtrackCuts("AliESDtrackCuts","default"); esdTrackCutsSoftPi->SetMinNClustersITS(3); - esdTrackCutsSoftPi->SetMaxDCAToVertexXY(1.); + esdTrackCutsSoftPi->SetMaxDCAToVertexXY(1.); esdTrackCutsSoftPi->SetMaxDCAToVertexZ(1.); esdTrackCutsSoftPi->SetPtRange(0.1,1.e10); esdTrackCutsSoftPi->SetEtaRange(-0.8,+0.8); @@ -105,18 +106,18 @@ AliAnalysisVertexingHF* ConfigVertexingHF() { AliRDHFCutsDStartoKpipi *cutsDStartoKpipi = new AliRDHFCutsDStartoKpipi("CutsDStartoKpipi"); cutsDStartoKpipi->SetUsePID(kFALSE); - + const Int_t nvars=16; const Int_t nptbins=2; - + Float_t* ptbins; ptbins=new Float_t[nptbins+1]; ptbins[0]=0.; ptbins[1]=5.; ptbins[2]=999.; - + cutsDStartoKpipi->SetPtBins(nptbins+1,ptbins); - + Float_t** rdcutsvalmine; rdcutsvalmine=new Float_t*[nvars]; for(Int_t iv=0;ivSetCuts(nvars,nptbins,rdcutsvalmine); - + cutsDStartoKpipi->AddTrackCuts(esdTrackCuts); cutsDStartoKpipi->AddTrackCutsSoftPi(esdTrackCutsSoftPi); cutsDStartoKpipi->SetMinPtCandidate(1.); @@ -167,16 +168,16 @@ AliAnalysisVertexingHF* ConfigVertexingHF() { //-------------------------------------------------------- AliRDHFCutsLctoV0 *cutsLctoV0 = new AliRDHFCutsLctoV0("CutsLctoV0"); - Float_t cutsArrayLctoV0[9]={4.0,4.0,2.0,2.0,0.0,0.0,0.0,1000.,1000.}; - cutsLctoV0->SetCuts(9,cutsArrayLctoV0); + Float_t cutsArrayLctoV0[10]={4.0,4.0,2.0,2.0,0.0,0.0,0.0,1000.,1000.,0.0}; + cutsLctoV0->SetCuts(10,cutsArrayLctoV0); cutsLctoV0->AddTrackCuts(esdTrackCuts); vHF->SetCutsLctoV0(cutsLctoV0); - // + // //--- set this if you want to reconstruct primary vertex candidate by - // candidate using other tracks in the event (for pp, broad + // candidate using other tracks in the event (for pp, broad // interaction region) //vHF->SetRecoPrimVtxSkippingTrks(); - //--- OR set this if you want to remove the candidate daughters from + //--- OR set this if you want to remove the candidate daughters from // the primary vertex, without recostructing it from scratch //vHF->SetRmTrksFromPrimVtx(); @@ -185,7 +186,7 @@ AliAnalysisVertexingHF* ConfigVertexingHF() { //--- verbose // AliLog::SetClassDebugLevel("AliAnalysisVertexingHF",2); - + return vHF; } diff --git a/PWGHF/vertexingHF/ConfigVertexingHF_highmult.C b/PWGHF/vertexingHF/ConfigVertexingHF_highmult.C index a21a07f0774..6db43a32d23 100644 --- a/PWGHF/vertexingHF/ConfigVertexingHF_highmult.C +++ b/PWGHF/vertexingHF/ConfigVertexingHF_highmult.C @@ -17,6 +17,7 @@ AliAnalysisVertexingHF* ConfigVertexingHF() { vHF->SetCascadesOff(); vHF->SetFindVertexForCascades(kFALSE); vHF->SetMassCutBeforeVertexing(kTRUE); // PbPb + vHF->SetV0TypeForCascadeVertex(AliRDHFCuts::kAllV0s); //--- set cuts for single-track selection // displaced tracks @@ -165,8 +166,8 @@ AliAnalysisVertexingHF* ConfigVertexingHF() { //-------------------------------------------------------- AliRDHFCutsLctoV0 *cutsLctoV0 = new AliRDHFCutsLctoV0("CutsLctoV0"); - Float_t cutsArrayLctoV0[9]={4.0,4.0,2.0,2.0,0.0,0.0,0.0,1000.,1000.}; - cutsLctoV0->SetCuts(9,cutsArrayLctoV0); + Float_t cutsArrayLctoV0[10]={4.0,4.0,2.0,2.0,0.0,0.0,0.0,1000.,1000.,0.0}; + cutsLctoV0->SetCuts(10,cutsArrayLctoV0); cutsLctoV0->AddTrackCuts(esdTrackCuts); vHF->SetCutsLctoV0(cutsLctoV0); // diff --git a/PWGHF/vertexingHF/ConfigVertexingHF_pp_LambdaC.C b/PWGHF/vertexingHF/ConfigVertexingHF_pp_LambdaC.C index c2c37551aef..3805b5e0c07 100644 --- a/PWGHF/vertexingHF/ConfigVertexingHF_pp_LambdaC.C +++ b/PWGHF/vertexingHF/ConfigVertexingHF_pp_LambdaC.C @@ -2,7 +2,7 @@ AliAnalysisVertexingHF* ConfigVertexingHF() { printf("Call to AliAnalysisVertexingHF parameters setting :\n"); vHF = new AliAnalysisVertexingHF(); - + //--- switch-off candidates finding (default: all on) //vHF->SetD0toKpiOff(); //vHF->SetJPSItoEleOff(); @@ -15,8 +15,9 @@ AliAnalysisVertexingHF* ConfigVertexingHF() { //vHF->SetSecVtxWithKF(); //vHF->SetCascadesOff(); vHF->SetFindVertexForCascades(kTRUE); - - //--- set cuts for single-track selection + vHF->SetV0TypeForCascadeVertex(AliRDHFCuts::kAllV0s); + + //--- set cuts for single-track selection // displaced tracks AliESDtrackCuts *esdTrackCuts = new AliESDtrackCuts("AliESDtrackCuts","default"); esdTrackCuts->SetRequireTPCRefit(kTRUE); @@ -80,16 +81,16 @@ AliAnalysisVertexingHF* ConfigVertexingHF() { cutsDStartoKpipi->AddTrackCutsSoftPi(esdTrackCutsSoftPi); vHF->SetCutsDStartoKpipi(cutsDStartoKpipi); AliRDHFCutsLctoV0 *cutsLctoV0 = new AliRDHFCutsLctoV0("CutsLctoV0"); - Float_t cutsArrayLctoV0[9]={1.0,1.0,0.05,0.05,0.0,0.0,0.0,1000.,1000.}; - cutsLctoV0->SetCuts(9,cutsArrayLctoV0); + Float_t cutsArrayLctoV0[10]={1.0,1.0,0.05,0.05,0.0,0.0,0.0,1000.,1000.,0.0}; + cutsLctoV0->SetCuts(10,cutsArrayLctoV0); cutsLctoV0->AddTrackCuts(esdTrackCuts); vHF->SetCutsLctoV0(cutsLctoV0); - // + // //--- set this if you want to reconstruct primary vertex candidate by - // candidate using other tracks in the event (for pp, broad + // candidate using other tracks in the event (for pp, broad // interaction region) //vHF->SetRecoPrimVtxSkippingTrks(); - //--- OR set this if you want to remove the candidate daughters from + //--- OR set this if you want to remove the candidate daughters from // the primary vertex, without recostructing it from scratch //vHF->SetRmTrksFromPrimVtx(); @@ -98,7 +99,7 @@ AliAnalysisVertexingHF* ConfigVertexingHF() { //--- verbose // AliLog::SetClassDebugLevel("AliAnalysisVertexingHF",2); - + return vHF; } -- 2.39.3