]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
new task MK
authorcbaumann <cbaumann@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 27 Mar 2013 20:18:23 +0000 (20:18 +0000)
committercbaumann <cbaumann@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 27 Mar 2013 20:18:23 +0000 (20:18 +0000)
PWGDQ/dielectron/macrosLMEE/AddTask_mkoehler_CCbar.C [new file with mode: 0644]
PWGDQ/dielectron/macrosLMEE/ConfigCCbar_mk_pp.C [new file with mode: 0644]

diff --git a/PWGDQ/dielectron/macrosLMEE/AddTask_mkoehler_CCbar.C b/PWGDQ/dielectron/macrosLMEE/AddTask_mkoehler_CCbar.C
new file mode 100644 (file)
index 0000000..836eaff
--- /dev/null
@@ -0,0 +1,73 @@
+AliAnalysisTask *AddTask_mkoehler_CCbar(Bool_t hasMC_aod = kFALSE){
+  //get the current analysis manager
+  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
+  if (!mgr) {
+    ::Error("AddTask_mkoehler_CCbar", "No analysis manager found.");
+    return NULL;
+  }
+  if (!mgr->GetInputEventHandler()) {
+    ::Error("AddTask_mkoehler_CCbar", "This task requires an input event handler");
+    return NULL;
+  }
+
+  //Do we have an MC handler?
+  Bool_t hasMC=(mgr->GetMCtruthEventHandler()!=0x0);
+  
+  TString configFile("ConfigCCbar_mk_pp.C");
+  if (hasMC) configFile="$ALICE_ROOT/PWGDQ/dielectron/macros/ConfigJpsi2eeEff.C";//check later
+  Bool_t isAOD=mgr->GetInputEventHandler()->IsA()==AliAODInputHandler::Class();
+
+  //create task and add it to the manager
+  AliAnalysisTaskMultiDielectron *task=new AliAnalysisTaskMultiDielectron("MultiDie");
+  mgr->AddTask(task);
+  
+  //load dielectron configuration file
+  TString checkconfig="ConfigCCbar_mk_pp";
+  if (!gROOT->GetListOfGlobalFunctions()->FindObject(checkconfig.Data()))
+    gROOT->LoadMacro(configFile.Data());
+  
+  //add dielectron analysis with different cuts to the task
+  for (Int_t i=0; i<nDie; ++i){ //nDie defined in config file
+    AliDielectron *jpsi=ConfigCCbar_mk_pp(i,isAOD);
+    if (isAOD) jpsi->SetHasMC(hasMC_aod);
+    if (jpsi) task->AddDielectron(jpsi);
+  }
+
+  //Add event filter
+  AliDielectronEventCuts *eventCuts=new AliDielectronEventCuts("eventCuts","Vertex Track && |vtxZ|<10 && ncontrib>0");
+  if(isAOD) eventCuts->SetVertexType(AliDielectronEventCuts::kVtxAny);
+  eventCuts->SetRequireVertex();
+  eventCuts->SetMinVtxContributors(1);
+  eventCuts->SetVertexZ(-10.,10.);
+  task->SetEventFilter(eventCuts);
+
+  // pileup rejection
+//    task->SetRejectPileup();
+   task->SetTriggerMask(AliVEvent::kEMC7);
+   task->UsePhysicsSelection();
+  //----------------------
+  //create data containers
+  //----------------------
+
+
+  //create output container
+  
+  AliAnalysisDataContainer *cOutputHist1 =
+    mgr->CreateContainer("mkoehler_pp_QA", TList::Class(), AliAnalysisManager::kOutputContainer,
+                         "LMEEoutput.root");
+  
+  AliAnalysisDataContainer *cOutputHist2 =
+    mgr->CreateContainer("mkoehler_pp_CF", TList::Class(), AliAnalysisManager::kOutputContainer,
+                         "LMEEoutput.root");
+
+  AliAnalysisDataContainer *cOutputHist3 =
+    mgr->CreateContainer("mkoehler_pp_EventStat", TH1D::Class(), AliAnalysisManager::kOutputContainer,
+                        "LMEEoutput.root");
+  
+  mgr->ConnectInput(task,  0, mgr->GetCommonInputContainer());
+  mgr->ConnectOutput(task, 1, cOutputHist1);
+  mgr->ConnectOutput(task, 2, cOutputHist2);
+  mgr->ConnectOutput(task, 3, cOutputHist3);
+  
+  return task;
+}
diff --git a/PWGDQ/dielectron/macrosLMEE/ConfigCCbar_mk_pp.C b/PWGDQ/dielectron/macrosLMEE/ConfigCCbar_mk_pp.C
new file mode 100644 (file)
index 0000000..11bb46a
--- /dev/null
@@ -0,0 +1,341 @@
+void SetupTrackCutsDieleData(AliDielectron *diele, Int_t cutDefinition, Bool_t isAOD);
+void SetupPairCutsDieleData(AliDielectron *diele, Int_t cutDefinition, Bool_t isAOD);
+void InitHistogramsDieleData(AliDielectron *diele, Int_t cutDefinition, Bool_t isAOD);
+void InitCFDieleData(AliDielectron *diele, Int_t cutDefinition, Bool_t isAOD);
+
+AliESDtrackCuts *SetupESDtrackCutsDieleData(Int_t cutDefinition);
+
+TString namesDieleData=("EMCal+SPDAny+E3+Anyleg");
+
+TObjArray *arrNamesDieleData=namesDieleData.Tokenize(";");
+
+const Int_t nDie=arrNamesDieleData->GetEntries();
+
+AliDielectron* ConfigCCbar_mk_pp(Int_t cutDefinition, Bool_t isAOD=kFALSE)
+{
+  //
+  // Setup the instance of AliDielectron
+  //
+  
+  // create the actual framework object
+  TString name=Form("%02d",cutDefinition);
+  if (cutDefinition<arrNamesDieleData->GetEntriesFast()){
+    name=arrNamesDieleData->At(cutDefinition)->GetName();
+  }
+  AliDielectron *diele = new AliDielectron(Form("%s",name.Data()),
+                             Form("Track cuts: %s",name.Data()));
+
+  // cut setup
+  SetupTrackCutsDieleData(diele, cutDefinition, isAOD);
+  SetupPairCutsDieleData(diele, cutDefinition, isAOD);
+
+  //
+  // histogram setup
+  // only if an AliDielectronHistos object is attached to the
+  // dielelectron framework histograms will be filled
+  //
+  InitHistogramsDieleData(diele, cutDefinition, isAOD);
+  InitCFDieleData(diele, cutDefinition, isAOD);
+
+  // mixing
+  AliDielectronMixingHandler *mix=new AliDielectronMixingHandler;
+  mix->AddVariable(AliDielectronVarManager::kZvPrim,100,-20.,20.);
+  mix->SetMixType(AliDielectronMixingHandler::kAll);
+  mix->SetDepth(120);
+  diele->SetMixingHandler(mix);
+  return diele;
+}
+
+
+//______________________________________________________________________________________
+void SetupTrackCutsDieleData(AliDielectron *diele, Int_t cutDefinition, Bool_t isAOD)
+{
+  //
+  // Setup the track cuts
+  //
+  
+  //ESD quality cuts DielectronTrackCuts
+  if (!isAOD) {
+    diele->GetTrackFilter().AddCuts(SetupESDtrackCutsDieleData(cutDefinition));
+  } else {
+    AliDielectronTrackCuts *trackCuts=new AliDielectronTrackCuts("trackCuts","trackCuts");
+//     trackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny);
+    trackCuts->SetRequireTPCRefit(kTRUE);
+    trackCuts->SetRequireITSRefit(kTRUE);
+    diele->GetTrackFilter().AddCuts(trackCuts);
+  }
+
+  //Pt cut ----------------------------------------------------------
+  AliDielectronVarCuts *pt = new AliDielectronVarCuts("ptCut","pt cut");
+  pt->AddCut(AliDielectronVarManager::kPt,0.8,1e30);
+  pt->AddCut(AliDielectronVarManager::kKinkIndex0,0.);
+  
+  //
+  // AOD additions since there are no AliESDtrackCuts -----------------
+  //
+  if (isAOD){
+    // TPC #clusteres cut
+    pt->AddCut(AliDielectronVarManager::kNclsTPC,50.,160.);
+    pt->AddCut(AliDielectronVarManager::kEta,-1.,1.);
+    pt->AddCut(AliDielectronVarManager::kTPCnSigmaEle,-3.0,6.);
+
+  //TODO: DCA cuts to be investigated!!!
+//       pt->AddCut(AliDielectronVarManager::kImpactParXY,-1.,1.);
+//       pt->AddCut(AliDielectronVarManager::kImpactParZ,-3.,3.);
+    pt->AddCut(AliDielectronVarManager::kITSLayerFirstCls,0.,4.);
+  }
+  diele->GetTrackFilter().AddCuts(pt);
+
+  
+}//SetupTrackCutsDieleData
+
+//______________________________________________________________________________________
+void SetupPairCutsDieleData(AliDielectron *diele, Int_t cutDefinition, Bool_t isAOD)
+{
+  // Setup the pair cuts
+
+  //rapidity selection
+  AliDielectronVarCuts *pairCut=new AliDielectronVarCuts("pairCut","pairCut");
+  pairCut->AddCut(AliDielectronVarManager::kY,-1.,1.);
+  pairCut->AddCut(AliDielectronVarManager::kPt,4.8,50.);
+  diele->GetPairFilter().AddCuts(pairCut);
+
+
+  AliDielectronVarCuts *mycut = new AliDielectronVarCuts("CutEMCAL","cut for EMCal");
+  mycut->AddCut(AliDielectronVarManager::kEMCALnSigmaEle,-4.,20.);
+  mycut->AddCut(AliDielectronVarManager::kEMCALE,3.5,50.);     
+
+  AliDielectronPairLegCuts *varpair=new AliDielectronPairLegCuts();
+  varpair->GetLeg1Filter().AddCuts(mycut);
+  varpair->GetLeg2Filter().AddCuts(mycut);
+  varpair->SetCutType(AliDielectronPairLegCuts::kAnyLeg);
+  diele->GetPairFilter().AddCuts(varpair);
+
+
+}//SetupPairCutsDieleData
+
+//______________________________________________________________________________________
+void InitHistogramsDieleData(AliDielectron *diele, Int_t cutDefinition, Bool_t isAOD)
+{
+  //
+  // Initialise the histograms
+  //
+  
+  //Setup histogram Manager
+  AliDielectronHistos *histos=new AliDielectronHistos(diele->GetName(),diele->GetTitle());
+  
+  //Initialise histogram classes
+  histos->SetReservedWords("Track;Pair");
+  
+  //Track classes
+  //to fill also track info from 2nd event loop until 2
+  for (Int_t i=0; i<2; ++i){
+    histos->AddClass(Form("Track_%s",AliDielectron::TrackClassName(i)));
+  }
+  
+  //Pair classes
+  // to fill also mixed event histograms loop until 10
+
+   for (Int_t i=0; i<3; ++i){
+       histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(i)));
+
+  }
+  
+  //legs from pair
+  for (Int_t i=0; i<3; ++i){
+    histos->AddClass(Form("Track_Legs_%s",AliDielectron::PairClassName(i)));
+  }
+  //track rotation
+  //histos->AddClass(Form("Pair_%s",PairClassName(AliDielectron::kEv1PMRot)));
+  //histos->AddClass(Form("Track_Legs_%s",PairClassName(AliDielectron::kEv1PMRot)));
+  
+
+    //add histograms to event class
+  if(cutDefinition == 0){
+    histos->AddClass("Event");
+    histos->UserHistogram("Event","VtxZ","Vertex Z;Z[cm]",500,-40.,40.,AliDielectronVarManager::kZvPrim);
+    histos->UserHistogram("Event","VtxYxVtxZ","Vertexyz;Z[cm];Y[cm]",500,-40.,40.,400,-0.5,0.5,AliDielectronVarManager::kZvPrim,AliDielectronVarManager::kYvPrim);
+    histos->UserHistogram("Event","VtxXxVtxZ","Vertexxz;Z[cm];X[cm]",500,-40.,40.,400,-0.5,0.5,AliDielectronVarManager::kZvPrim,AliDielectronVarManager::kXvPrim);
+    histos->UserHistogram("Event","VtxYxVtxX","Vertexxz;Z[cm];X[cm]",400,-0.5,0.5,400,-0.5,0.5,AliDielectronVarManager::kXvPrim,AliDielectronVarManager::kYvPrim);
+}
+  
+  
+  
+  //add histograms to Track classes
+  histos->UserHistogram("Track","Pt","Pt;Pt [GeV];#tracks",250,0,50.,AliDielectronVarManager::kPt,kTRUE);
+  histos->UserHistogram("Track","TPCnCls","Number of Clusters TPC;TPC number clusters;#tracks",160,-0.5,159.5,AliDielectronVarManager::kNclsTPC,kTRUE);
+  histos->UserHistogram("Track","TPCchi2Cl","Chi-2/Clusters TPC;Chi2/ncls number clusters;#tracks",100,0,10,AliDielectronVarManager::kTPCchi2Cl,kTRUE);
+  histos->UserHistogram("Track","TPCnFCls","Number of findable Clusters TPC;Number of findable Clusters TPC;#tracks",160,-0.5,159.5,AliDielectronVarManager::kNFclsTPC,kTRUE);
+  histos->UserHistogram("Track","TPCnFClsfCross","fraction crossed rows/findable;fraction crossed rows/findable;#tracks",200,0.,2.,AliDielectronVarManager::kNFclsTPCfCross,kTRUE);
+  histos->UserHistogram("Track","TPCnFClsr","Number of findable Clusters(crossed rows) TPC;Number of findable crossed rows TPC;#tracks",160,-0.5,159.5,AliDielectronVarManager::kNFclsTPCr,kTRUE);
+  histos->UserHistogram("Track","TPCnFClsrFrac","Number of found/findable Clusters TPC;Number of found/findable Clusters TPC;#tracks",200,0.,2.,AliDielectronVarManager::kNFclsTPCrFrac,kTRUE);
+  histos->UserHistogram("Track","TPCnFClsTPCfCross","Fraction of findable Clusters/Cr.rows TPC;Fraction of findable Clusters/Cr.rows TPC;#tracks",200,0.,2.,AliDielectronVarManager::kNFclsTPCfCross,kTRUE);  
+  histos->UserHistogram("Track","TPCsignalN","Number of points for TPC Signal;TPC Npoints dEdx;#tracks",160,-0.5,159.5,AliDielectronVarManager::kTPCsignalN,kTRUE);    
+  
+  histos->UserHistogram("Track","dXY","dXY;dXY [cm];#tracks",200,-1.5,1.5,AliDielectronVarManager::kImpactParXY,kTRUE);
+  histos->UserHistogram("Track","dZ","dZ;dZ [cm];#tracks",200,-4.,4.,AliDielectronVarManager::kImpactParZ,kTRUE);
+  
+  histos->UserHistogram("Track","Eta_Phi","Eta vs Phi; Eta; Phi;#tracks",
+                        100,-1.2,1.2,144,0,6.285,AliDielectronVarManager::kEta,AliDielectronVarManager::kPhi,kTRUE);
+
+  histos->UserHistogram("Track","dEdx_P","dEdx;P [GeV];TPC signal (arb units);#tracks",
+                        200,0.2,20.,800,20.,200.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCsignal,kTRUE);
+
+  histos->UserHistogram("Track","dEdx_Pt","dEdx;Pt [GeV];TPC signal (arb units);#tracks",
+                        200,0.2,20.,800,20.,200.,AliDielectronVarManager::kPt,AliDielectronVarManager::kTPCsignal,kTRUE);
+
+  histos->UserHistogram("Track","TPCnSigmaEle_P","TPCnSigmaEle;P [GeV];TPCnSigmaEle;#tracks",
+                        200,0.2,20.,800,-12.,12.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaEle,kTRUE);
+  
+  histos->UserHistogram("Track","TPCnSigmaEle_Pt","TPCnSigmaEle;Pt [GeV];TPCnSigmaEle;#tracks",
+                        200,0.2,20.,800,-12.,12.,AliDielectronVarManager::kPt,AliDielectronVarManager::kTPCnSigmaEle,kTRUE);
+
+  histos->UserHistogram("Track","TPCnSigmaEle_Phi","TPCnSigmaEle;#phi [rad];TPCnSigmaEle;#tracks",
+                        200,0.,2*TMath::Pi(),800,-12.,12.,AliDielectronVarManager::kPhi,AliDielectronVarManager::kTPCnSigmaEle,kTRUE);
+  
+  histos->UserHistogram("Track","TPCnSigmaEle_Eta","TPCnSigmaEle;#eta;TPCnSigmaEle;#tracks",
+                        200,-1.,1.,800,-12.,12.,AliDielectronVarManager::kEta,AliDielectronVarManager::kTPCnSigmaEle,kTRUE);
+    
+
+  histos->UserHistogram("Track","dEdx_Phi","dEdx vs phi;#phi [rad];TPC signal (arb units);#tracks",
+                        200,0.,2*TMath::Pi(),800,20.,200.,AliDielectronVarManager::kPhi,AliDielectronVarManager::kTPCsignal,kTRUE);
+
+  histos->UserHistogram("Track","dEdx_Eta","dEdx vs eta;#eta;TPC signal (arb units);#tracks",
+                        200,-1.,1.,800,20.,200.,AliDielectronVarManager::kEta,AliDielectronVarManager::kTPCsignal,kTRUE);
+
+
+
+  histos->UserHistogram("Track","dEdx_nSigmaEMCal","dEdx vs nSigmaEMCal;NsigmaEmcal;TPC signal (arb units);NSigmaEMCAL",
+                        200,-5.,5.,800,20.,200.,AliDielectronVarManager::kEMCALnSigmaEle,AliDielectronVarManager::kTPCsignal,kTRUE);
+
+  histos->UserHistogram("Track","dEdx_TPCnSigmaEle","dEdx vs TPCnSigmaEle;TPC signal electrons(arbunits);TPC number of sigmas Electrons;TPC signal (a.u.);#tracks",
+                        100,-10.,10.,800,20.,200.,AliDielectronVarManager::kTPCnSigmaEle,AliDielectronVarManager::kTPCsignal,kTRUE);
+
+  histos->UserHistogram("Track","dEdx_EoverP","dEdx;EoverP;TPC signal (arbunits);E/P",100,0.,5.,800,20.,200.,AliDielectronVarManager::kEMCALEoverP,AliDielectronVarManager::kTPCsignal,kTRUE);
+  
+  histos->UserHistogram("Track","nSigmaEMCal_EoverP","NsigmaEmcal;EoverP;NSigmaEMCAL;E/P",100,0.,5.,200,-5.,5.,AliDielectronVarManager::kEMCALEoverP,AliDielectronVarManager::kEMCALnSigmaEle,kTRUE);
+  histos->UserHistogram("Track","EMCal_E","EmcalE;Cluster Energy [GeV];#Clusters",200,0.,40.,AliDielectronVarManager::kEMCALE,kTRUE);
+
+  histos->UserHistogram("Track","ITS_FirstCls","ITS First Layer;ITS First Layer;#Entries",6,0.,6.,AliDielectronVarManager::kITSLayerFirstCls,kTRUE);
+  //add histograms to Pair classes
+  histos->UserHistogram("Pair","InvMass","Inv.Mass;Inv. Mass [GeV];#pairs",
+                        251,-.01,5.01,AliDielectronVarManager::kM);
+  histos->UserHistogram("Pair","InvMass2D","Inv.Mass;Pt [GeV]; Inv. Mass [GeV]",
+                        20,0.,20.,251,-.01,5.01,AliDielectronVarManager::kPt,AliDielectronVarManager::kM);
+  
+     histos->UserHistogram("Pair","InvMasslongVarBin","Inv.Mass;Inv. Mass [GeV];#pairs",
+        "0. , 0.025, 0.05 , 0.075 ,0.1 ,0.15 , 0.2 , 0.25 , 0.3 , 
+        0.4 ,  0.5 , 0.6, 0.65 , 0.688 , 0.725, 0.75, 0.775, 0.8 , 0.85 ,
+         0.95,  0.975 , 1.0 , 1.025 , 1.05, 1.125 , 1.25 , 1.5 , 1.75 , 2.0 , 
+        2.25, 2.5 , 2.75 , 2.85, 2.95,3.05, 3.1 , 3.15 , 
+        3.3 , 3.4 ,3.5, 3.6, 3.7,3.8,3.9, 4.0,4.5, 5.0,6.0,7.0,8.0,9.0,10.0,11.0,12.0,13.0,14.0,15.0",AliDielectronVarManager::kM);
+
+    histos->UserHistogram("Pair","InvMasslong","Inv.Mass;Inv. Mass [GeV];#pairs",
+                        301,-.02,15.02,AliDielectronVarManager::kM);
+    
+  histos->UserHistogram("Pair","Rapidity","Rapidity;Rapidity;#pairs",
+                        50,-1.,1.,AliDielectronVarManager::kY);
+  histos->UserHistogram("Pair","OpeningAngle","Opening angle;angle",
+                        50,0.,3.15,AliDielectronVarManager::kOpeningAngle);
+
+  histos->UserHistogram("Pair","PseudoProperTime","Pseudoproper decay length; pseudoproper-decay-length[#mum];Entries/40#mum",
+                          150,-0.3.,0.3,AliDielectronVarManager::kPseudoProperTime);
+  
+ histos->UserHistogram("Pair","Chi2/NDF","#Chi^{2}/NDF;#Chi^{2}/NDF",
+                        100, 0., 20., AliDielectronVarManager::kChi2NDF);
+  
+  
+  diele->SetHistogramManager(histos);
+}
+
+
+void InitCFDieleData(AliDielectron *diele, Int_t cutDefinition, Bool_t isAOD)
+{
+  //
+  // Setupd the CF Manager if needed
+  //
+  
+  AliDielectronCF *cf=new AliDielectronCF(diele->GetName(),diele->GetTitle());
+  
+  //pair variables
+  cf->AddVariable(AliDielectronVarManager::kPt,"2.0,3.0,4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0,15.0,16.0,17.0,18.0,19.0,20.0,30.0,50.0, 100.0");
+  cf->AddVariable(AliDielectronVarManager::kM,250,0.,10.);//also try variable bi sizes later...
+  
+  //  cf->AddVariable(AliDielectronVarManager::kPairType,12,0,12);// computing intensive-> reduce it
+  cf->AddVariable(AliDielectronVarManager::kPairType,4,-0.5,3.5);
+  cf->AddVariable(AliDielectronVarManager::kOpeningAngle,31,-0.15,3.15);
+  cf->AddVariable(AliDielectronVarManager::kEta,40,-1.,1.);
+  cf->AddVariable(AliDielectronVarManager::kY,40,-1.,1.);
+  cf->AddVariable(AliDielectronVarManager::kPhi,20,0.,20*0.25);
+//  cf->AddVariable(AliDielectronVarManager::kPseudoProperTime,300,-0.3,0.3);
+//  cf->AddVariable(AliDielectronVarManager::kPseudoProperTimeErr,200,0.,0.1);
+//  cf->AddVariable(AliDielectronVarManager::kPseudoProperTimeResolution,400,-0.1,0.1);
+//  cf->AddVariable(AliDielectronVarManager::kPseudoProperTimePull,400,-0.1,0.1); 
+//  cf->AddVariable(AliDielectronVarManager::kChi2NDF,40, 0., 20.);
+
+  /*
+    cf->AddVariable(AliDielectronVarManager::kZvPrim,20,-20.,20.);
+   
+  //leg variables
+  cf->AddVariable(AliDielectronVarManager::kPt,"0.,0.5,0.75,0.9,1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 2.0, 3.0, 4.0, 8.0,9.0,10.0,11.0,12.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0,20.0,30.0,50.0,100.0",kTRUE);
+  cf->AddVariable(AliDielectronVarManager::kNclsTPC,"65, 70, 75, 80, 85, 90, 95, 100, 120, 160",kTRUE);
+  cf->AddVariable(AliDielectronVarManager::kTPCchi2Cl,100, 0., 10.,kTRUE);
+  cf->AddVariable(AliDielectronVarManager::kTPCsignalN,160,-0.5,159.5,kTRUE);   
+  cf->AddVariable(AliDielectronVarManager::kEta,44,-1.2,1.2,kTRUE);
+  cf->AddVariable(AliDielectronVarManager::kPhi,64,0.,64*0.1,kTRUE);
+  cf->AddVariable(AliDielectronVarManager::kEMCALE,"3.0, 3.5, 3.75, 4.0, 4.25,4.5,5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 18.0, 20.0, 100.0",kTRUE); 
+  cf->AddVariable(AliDielectronVarManager::kEMCALnSigmaEle,"-4.5,-4.,-3.75,-3.5,-3.25,-3.0,-2.75,-2.5,-2.0,-1.0,1.0,2.0,2.5,3.0,3.25,3.5,3.75,4.0,5.0",kTRUE);
+  cf->AddVariable(AliDielectronVarManager::kEMCALNCells,25,0,25,kTRUE);
+  cf->AddVariable(AliDielectronVarManager::kEMCALEoverP,"0.6,0.7,0.8,0.9,1.1,1.2,1.3,1.4,1.8,2.0,4.0",kTRUE);
+  cf->AddVariable(AliDielectronVarManager::kTPCsignal,"40.,50.,55.,60.,65.,68.,70.,72.,75.,80.,90.,100.,110.,200.",kTRUE);
+  cf->AddVariable(AliDielectronVarManager::kTPCnSigmaEle,"-3.0,-2.75,-2.5,-2.25,-2.0,-1.75,-1.5,-1.0,-0.5,0.0,1.0,2.0,2.25,2.5,2.75,3.0,3.25,3.5,4.0,5.0,6.0",kTRUE);
+  cf->AddVariable(AliDielectronVarManager::kTPCnSigmaPio,"1.,2.,2.5,3.0,3.5,4.0,4.5,100",kTRUE);
+  cf->AddVariable(AliDielectronVarManager::kTPCnSigmaPro,"1.,2.,3.,3.5,4.,100",kTRUE);
+  cf->AddVariable(AliDielectronVarManager::kTOFnSigmaEle,",-3.5,-3.0,-2.75,-2.5,-2.25,-2.0,-1.75,-1.5,-1.0,-0.5,0.0,1.0,2.0,2.25,2.5,2.75,3.0,3.25,3.5,4.0",kTRUE);
+  cf->AddVariable(AliDielectronVarManager::kTOFnSigmaPio,"1.,2.,2.5,3.0,3.5,4.0,4.5,100",kTRUE);
+  cf->AddVariable(AliDielectronVarManager::kITSLayerFirstCls,6,0.,6.,kTRUE);
+  cf->AddVariable(AliDielectronVarManager::kImpactParXY,200,-1.,1.,kTRUE);
+  cf->AddVariable(AliDielectronVarManager::kImpactParZ,600,-3.,3.,kTRUE);
+*/             
+  diele->SetCFManagerPair(cf);
+  
+}
+
+
+
+/*
+
+
+//______________________________________________________________________________________
+AliESDtrackCuts *SetupESDtrackCutsDieleData(Int_t cutDefinition)
+{
+  //
+  // Setup default AliESDtrackCuts
+  //
+  AliESDtrackCuts *esdTrackCuts = new AliESDtrackCuts;
+
+  // basic track quality cuts  (basicQ)
+  esdTrackCuts->SetMaxDCAToVertexZ(3.0);
+  esdTrackCuts->SetMaxDCAToVertexXY(1.0);
+
+  esdTrackCuts->SetEtaRange( -0.9 , 0.9 );
+
+  esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
+  esdTrackCuts->SetRequireITSRefit(kTRUE);
+  esdTrackCuts->SetRequireTPCRefit(kTRUE);
+
+  esdTrackCuts->SetPtRange(.8,1e30);
+
+  esdTrackCuts->SetMinNClustersTPC(70);
+  esdTrackCuts->SetMaxChi2PerClusterTPC(4);
+
+  // default SPD any
+  esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny);
+
+  return esdTrackCuts;
+}
+
+ */