From 882407d767bab1ccc672b86f5a93ef20f0b3d87f Mon Sep 17 00:00:00 2001 From: jbook Date: Mon, 18 Feb 2013 13:47:54 +0000 Subject: [PATCH] -add PID default cuts to V0cuts -coverity fix --- PWGDQ/dielectron/AliDielectronPID.cxx | 6 +++++ PWGDQ/dielectron/AliDielectronV0Cuts.cxx | 29 +++++++++++++++------- PWGDQ/dielectron/AliDielectronV0Cuts.h | 2 ++ PWGDQ/dielectron/AliDielectronVarManager.h | 2 +- 4 files changed, 29 insertions(+), 10 deletions(-) diff --git a/PWGDQ/dielectron/AliDielectronPID.cxx b/PWGDQ/dielectron/AliDielectronPID.cxx index f30d59cb36d..b4f0e424be9 100644 --- a/PWGDQ/dielectron/AliDielectronPID.cxx +++ b/PWGDQ/dielectron/AliDielectronPID.cxx @@ -541,6 +541,12 @@ void AliDielectronPID::SetDefaults(Int_t def){ AddCut(kTPC,AliPID::kElectron,lowerCut,4.); AddCut(kTOF,AliPID::kElectron,-5,5,0,200,kFALSE,AliDielectronPID::kIfAvailable); } + else if (def==13) { + // TPC electron inclusion + // TOF electron inclusion if available + AddCut(kTOF,AliPID::kElectron,-4.,4.,0,200,kFALSE,AliDielectronPID::kIfAvailable); + AddCut(kTPC,AliPID::kElectron,-3.5,3.5); + } } diff --git a/PWGDQ/dielectron/AliDielectronV0Cuts.cxx b/PWGDQ/dielectron/AliDielectronV0Cuts.cxx index 9bb2c9f9ddc..0fb12a675ab 100644 --- a/PWGDQ/dielectron/AliDielectronV0Cuts.cxx +++ b/PWGDQ/dielectron/AliDielectronV0Cuts.cxx @@ -31,6 +31,7 @@ #include "AliDielectronV0Cuts.h" #include "AliDielectronVarManager.h" #include "AliDielectronTrackCuts.h" +#include "AliDielectronPID.h" #include "AliESDv0.h" ClassImp(AliDielectronV0Cuts) @@ -43,6 +44,7 @@ AliDielectronV0Cuts::AliDielectronV0Cuts() : fMotherPdg(0), fNegPdg(0), fPosPdg(0), + fPID(-1), fOrbit(0), fPeriod(0), fBunchCross(0) @@ -60,6 +62,7 @@ AliDielectronV0Cuts::AliDielectronV0Cuts(const char* name, const char* title) : fMotherPdg(0), fNegPdg(0), fPosPdg(0), + fPID(-1), fOrbit(0), fPeriod(0), fBunchCross(0) @@ -109,13 +112,14 @@ void AliDielectronV0Cuts::InitEvent(AliVTrack *trk) // basic quality cut, at least one of the V0 daughters has to fullfill AliDielectronVarCuts dauQAcuts1; - dauQAcuts1.AddCut(AliDielectronVarManager::kPt, 0.3, 1e30); - dauQAcuts1.AddCut(AliDielectronVarManager::kEta, -0.9, 0.9); - dauQAcuts1.AddCut(AliDielectronVarManager::kNclsTPC, 50.0, 160.0); - dauQAcuts1.AddCut(AliDielectronVarManager::kTPCchi2Cl, 0.0, 4.0); + dauQAcuts1.AddCut(AliDielectronVarManager::kEta, -0.9, 0.9); + dauQAcuts1.AddCut(AliDielectronVarManager::kNclsTPC, 50.0, 160.0); + dauQAcuts1.AddCut(AliDielectronVarManager::kTPCchi2Cl, 0.0, 4.0); AliDielectronTrackCuts dauQAcuts2; // dauQAcuts2.SetRequireITSRefit(kTRUE); dauQAcuts2.SetRequireTPCRefit(kTRUE); + AliDielectronPID dauPIDcuts; + if(fPID>=0) dauPIDcuts.SetDefaults(fPID); Int_t nV0s = 0; AliDielectronPair candidate; @@ -125,6 +129,7 @@ void AliDielectronV0Cuts::InitEvent(AliVTrack *trk) if(ev->IsA() == AliESDEvent::Class()) { const AliESDEvent *esdev = static_cast(ev); + printf("there are %d V0s in the event \n",esdev->GetNumberOfV0s()); // loop over V0s for (Int_t iv=0; ivGetNumberOfV0s(); ++iv){ AliESDv0 *v = esdev->GetV0(iv); @@ -140,8 +145,10 @@ void AliDielectronV0Cuts::InitEvent(AliVTrack *trk) continue; } - // reject tracks with neative ID - if(trNeg->GetID()<0 || trPos->GetID()) continue; + // PID default cuts + if(fPID>=0) { + if( !dauPIDcuts.IsSelected(trNeg) || !dauPIDcuts.IsSelected(trPos) ) continue; + } // at least one of the daughter has to pass basic QA cuts if(!(dauQAcuts1.IsSelected(trNeg) && dauQAcuts2.IsSelected(trNeg)) || @@ -166,6 +173,7 @@ void AliDielectronV0Cuts::InitEvent(AliVTrack *trk) else if(ev->IsA() == AliAODEvent::Class()) { const AliAODEvent *aodEv = static_cast(ev); + // Int_t nV0stored = 0; // loop over vertices for (Int_t ivertex=0; ivertexGetNumberOfVertices(); ++ivertex){ AliAODVertex *v=aodEv->GetVertex(ivertex); @@ -178,9 +186,12 @@ void AliDielectronV0Cuts::InitEvent(AliVTrack *trk) printf("Error: Couldn't get V0 daughter: %p - %p\n",trNeg,trPos); continue; } + //nV0stored++; - // reject tracks with neative ID - if(trNeg->GetID()<0 || trPos->GetID()) continue; + // PID default cuts + if(fPID>=0) { + if( !dauPIDcuts.IsSelected(trNeg) || !dauPIDcuts.IsSelected(trPos) ) continue; + } // at least one of the daughter has to pass basic QA cuts if(!(dauQAcuts1.IsSelected(trNeg) && dauQAcuts2.IsSelected(trNeg)) || @@ -198,7 +209,7 @@ void AliDielectronV0Cuts::InitEvent(AliVTrack *trk) fV0TrackArr.SetBitNumber(trPos->GetID()); } } - + //printf("there are %d V0s in the event \n",nV0stored); } else return; diff --git a/PWGDQ/dielectron/AliDielectronV0Cuts.h b/PWGDQ/dielectron/AliDielectronV0Cuts.h index 15208b89b62..c296065bf77 100644 --- a/PWGDQ/dielectron/AliDielectronV0Cuts.h +++ b/PWGDQ/dielectron/AliDielectronV0Cuts.h @@ -42,6 +42,7 @@ public: virtual Bool_t IsSelected(TList* /* list */ ) {return kFALSE;} void SetPdgCodes(Int_t mother, Int_t negDaughter, Int_t posDaughter) {fMotherPdg=mother; fNegPdg=negDaughter; fPosPdg=posDaughter;} void SetExcludeTracks(Bool_t exclude) {fExcludeTracks=exclude;} + void SetDefaultPID(Int_t def) {fPID=def;} private: @@ -51,6 +52,7 @@ private: Int_t fMotherPdg; // target pdg code of the mother Int_t fNegPdg; // target pdg code of the negative daughter Int_t fPosPdg; // target pdg code of the positive daughter + Int_t fPID; // default PID usage (see AliDielectronPID) // memebers needed to identify an event UInt_t fOrbit; // orbit number diff --git a/PWGDQ/dielectron/AliDielectronVarManager.h b/PWGDQ/dielectron/AliDielectronVarManager.h index 8618f59741e..d7574217c10 100644 --- a/PWGDQ/dielectron/AliDielectronVarManager.h +++ b/PWGDQ/dielectron/AliDielectronVarManager.h @@ -1551,7 +1551,7 @@ inline void AliDielectronVarManager::FillVarVEvent(const AliVEvent *event, Doubl // event plane quantities from the AliEPSelectionTask - for(Int_t ivar=AliDielectronVarManager::kv0ArpH2; ivar<=kv0ACrpH2FlowV2; ivar++) values[ivar] = 0.0; // v0 variables + for(Int_t ivar=AliDielectronVarManager::kv0ArpH2; ivar<=kv0C0v0C3DiffH2; ivar++) values[ivar] = 0.0; // v0 variables for(Int_t ivar=AliDielectronVarManager::kTPCxH2; ivar<=kTPCsub12DiffH2uc; ivar++) values[ivar] = 0.0; // tpc variables AliEventplane ep2; // VZERO -- 2.39.3