]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGDQ/dielectron/AliDielectronHFhelper.cxx
-updates on HF for mc
[u/mrichter/AliRoot.git] / PWGDQ / dielectron / AliDielectronHFhelper.cxx
index d02633d80757a0d74fb1e0da01b8bd9e86e2d94b..0da0d1a28ede585d56bc477ae95c0135460cecd2 100644 (file)
@@ -149,6 +149,57 @@ void AliDielectronHFhelper::SetRangeUser(AliDielectronVarManager::ValueTypes typ
   SetRangeUser(AliDielectronVarManager::GetValueName(type), min, max, leg);
 }
 
+//________________________________________________________________
+void AliDielectronHFhelper::UnsetRangeUser(const char *varname, Bool_t leg)
+{
+  //
+  // unset range from variable name
+  //
+  Int_t size=fCutLowLimits.GetNrows();
+  PrintCuts();
+  TVectorD newlow;
+  TVectorD newup;
+
+  Int_t ientries = 0;
+  for(Int_t icut=0; icut<size; icut++) {
+
+    TString cutName = fCutVars->At(icut)->GetName();
+    if(cutName.Contains(Form("%s%s",(leg?"Leg":""),varname))) { 
+      fCutVars->AddAt(0x0,icut);
+      continue;
+    }
+    
+    // fill new vectors
+    newlow.ResizeTo(ientries+1);
+    newup.ResizeTo(ientries+1);
+    newlow(ientries) = fCutLowLimits(icut);
+    newup(ientries)  = fCutUpLimits(icut);
+    
+    ientries++;
+  }
+  
+  // adapt new arrays/vectors
+  fCutVars->Compress();
+
+  fCutLowLimits.ResizeTo(ientries);
+  fCutUpLimits.ResizeTo(ientries);
+  for(Int_t icut=0; icut<ientries; icut++) {
+    fCutLowLimits(icut) = newlow(icut);
+    fCutUpLimits(icut)  = newup(icut);
+  }
+  PrintCuts();
+}
+
+//________________________________________________________________
+void AliDielectronHFhelper::UnsetRangeUser(AliDielectronVarManager::ValueTypes type, Bool_t leg)
+{
+  //
+  // Unset range from AliDielectronVarManager 
+  //
+  UnsetRangeUser(AliDielectronVarManager::GetValueName(type), leg);
+}
+
 //________________________________________________________________
 TObjArray* AliDielectronHFhelper::CollectHistos() 
 {