-add PID default cuts to V0cuts
authorjbook <jbook@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 18 Feb 2013 13:47:54 +0000 (13:47 +0000)
committerjbook <jbook@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 18 Feb 2013 13:47:54 +0000 (13:47 +0000)
-coverity fix

PWGDQ/dielectron/AliDielectronPID.cxx
PWGDQ/dielectron/AliDielectronV0Cuts.cxx
PWGDQ/dielectron/AliDielectronV0Cuts.h
PWGDQ/dielectron/AliDielectronVarManager.h

index f30d59c..b4f0e42 100644 (file)
@@ -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);
+  }
 
 }
 
index 9bb2c9f..0fb12a6 100644 (file)
@@ -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<const AliESDEvent*>(ev);
 
+    printf("there are %d V0s in the event \n",esdev->GetNumberOfV0s());
     // loop over V0s
     for (Int_t iv=0; iv<esdev->GetNumberOfV0s(); ++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<const AliAODEvent*>(ev);
 
+    //    Int_t nV0stored = 0;
     // loop over vertices
     for (Int_t ivertex=0; ivertex<aodEv->GetNumberOfVertices(); ++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;
index 15208b8..c296065 100644 (file)
@@ -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
index 8618f59..d757421 100644 (file)
@@ -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