]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGDQ/dielectron/AliDielectronHF.cxx
add PID low cut maps
[u/mrichter/AliRoot.git] / PWGDQ / dielectron / AliDielectronHF.cxx
index 7e7420076a9c3b86156a066b5cf71dd6cfd515f8..545fe1d4a116811c3419bcfdfc5087f21b41e934 100644 (file)
@@ -55,7 +55,7 @@ ClassImp(AliDielectronHF)
 AliDielectronHF::AliDielectronHF() :
   TNamed(),
   fArrPairType(),
-  fPairType(kOSonly),
+  fPairType(kSeOnlyOS),
   fSignalsMC(0x0),
   fAxes(kMaxCuts),
   fHasMC(kFALSE),
@@ -79,7 +79,7 @@ AliDielectronHF::AliDielectronHF() :
 AliDielectronHF::AliDielectronHF(const char* name, const char* title) :
   TNamed(name, title),
   fArrPairType(),
-  fPairType(kOSonly),
+  fPairType(kSeOnlyOS),
   fSignalsMC(0x0),
   fAxes(kMaxCuts),
   fHasMC(kFALSE),
@@ -186,7 +186,7 @@ void AliDielectronHF::UserProfile(const char* histClass, UInt_t valTypeP,
 
   // store variales in axes
   UInt_t valType[4] = {0};
-  valType[0]=valTypeX;     valType[1]=valTypeY; valType[3]=valTypeP;
+  valType[0]=valTypeX;     valType[1]=valTypeY; valType[2]=valTypeP;
   AliDielectronHistos::StoreVariables(hist, valType);
   hist->SetUniqueID(valTypeW); // store weighting variable
 
@@ -465,7 +465,7 @@ void AliDielectronHF::Fill(Int_t index, Double_t * const valuesPair, Double_t *
     // do not fill the histogram
     if(!selected) continue;
 
-    // fill the object with Pair and event values (TODO: this needs to be changed)
+    // fill the object with Pair and event values
     TObjArray *tmp = (TObjArray*) histArr->At(ihist);
     TString title = tmp->GetName();
     AliDebug(10,title.Data());
@@ -501,7 +501,7 @@ void AliDielectronHF::Init()
   Int_t sizeAdd  = 1; 
 
   // fill object array with the array of bin cells
-  TObjArray *histArr = new TObjArray();
+  TObjArray *histArr = new TObjArray(0);
   if(!histArr) return;
   histArr->SetOwner(kTRUE);
   histArr->Expand(size);
@@ -557,10 +557,17 @@ void AliDielectronHF::Init()
   Int_t istep=0;
   if(fPairType != kMConly) {
     for(istep=0; istep<AliDielectron::kEv1PMRot+1; istep++) {
-      //    for(Int_t i=steps; i<steps+AliDielectron::kEv1PMRot+1; i++) {
-      fArrPairType[istep]=(TObjArray*)histArr->Clone(AliDielectron::PairClassName(istep));
-      ((TObjArray*)fArrPairType[istep])->SetOwner();
-      if(!IsPairTypeSelected(istep))  ((TObjArray*)fArrPairType[istep])->Delete();
+
+      if(IsPairTypeSelected(istep)) {
+       // add a deep copy of the array
+       fArrPairType[istep]=(TObjArray*)histArr->Clone(AliDielectron::PairClassName(istep));
+       ((TObjArray*)fArrPairType[istep])->SetOwner();
+      }
+      else {
+       fArrPairType[istep]=new TObjArray(0);
+       ((TObjArray*)fArrPairType[istep])->SetOwner();
+       ((TObjArray*)fArrPairType[istep])->SetName(AliDielectron::PairClassName(istep));
+      }
     } //end: loop over pair types
   }
 
@@ -602,36 +609,41 @@ Bool_t AliDielectronHF::IsPairTypeSelected(Int_t itype)
 {
   //
   // check whether a pair type was selected
-  //
-  
+  // TODO: cross check or replace by mixinghandlers processsing
+
   Bool_t selected = kFALSE;
 
   // fill all
   if(fPairType==kAll) return kTRUE;
 
   switch(itype) {
-  case AliDielectron::kEv1PP: 
+  case AliDielectron::kEv1PP:
   case AliDielectron::kEv1MM:
-    if(fPairType==kOSandLS)   selected = kTRUE;
+    if(fPairType==kSeAll || fPairType==kSeMeAll || fPairType==kSeReAll )   selected = kTRUE;
     break;
-  case AliDielectron::kEv1PM: selected = kTRUE;
+  case AliDielectron::kEv1PM:
+    if(fPairType!=kMeOnlyOS)  selected = kTRUE;
     break;
   case AliDielectron::kEv1PEv2P:
-  case AliDielectron::kEv1MEv2P:
-  case AliDielectron::kEv1PEv2M:
   case AliDielectron::kEv1MEv2M:
-    if(fPairType==kOSandMIX)  selected = kTRUE;
+    if(fPairType==kMeAll || fPairType==kSeMeAll)   selected = kTRUE;
+    break;
+  case AliDielectron::kEv1PEv2M:
+    if(fPairType==kMeAll || fPairType==kSeMeAll) selected = kTRUE;
+    break;
+  case AliDielectron::kEv1MEv2P:
+    if(fPairType==kMeAll || fPairType==kSeMeAll || fPairType==kMeOnlyOS || fPairType==kSeMeOnlyOS)   selected = kTRUE;
     break;
   case AliDielectron::kEv2PP:
-  case AliDielectron::kEv2PM: 
+  case AliDielectron::kEv2PM:
   case AliDielectron::kEv2MM:
     selected = kFALSE;
     break;
   case AliDielectron::kEv1PMRot:
-    if(fPairType==kOSandROT)  selected = kTRUE;
+    if(fPairType==kSeReAll || fPairType==kSeReOnlyOS)   selected = kTRUE;
     break;
   }
-  
+
   return selected;
 
 }