X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PWGHF%2FvertexingHF%2FAliAnalysisVertexingHF.cxx;h=66cf3b8d2ad8e75a318fd8185289bf6f05435bde;hb=34595b3ccf791f63cf6319151debd022ab1bfb65;hp=0bbd94c94f9e79f21298c1969b073f06aef45293;hpb=650d19389b2463fb29e30b0d00c68996b621f1c8;p=u%2Fmrichter%2FAliRoot.git 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; +} +//----------------------------------------------------------------------------- +