]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
- add v2 task for julian
authorjbook <jbook@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 9 May 2012 12:31:41 +0000 (12:31 +0000)
committerjbook <jbook@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 9 May 2012 12:31:41 +0000 (12:31 +0000)
- changes from marcel

PWGDQ/dielectron/macrosJPSI/AddTask_jbook_JPsi.C
PWGDQ/dielectron/macrosJPSI/AddTask_jbook_v2.C [new file with mode: 0644]
PWGDQ/dielectron/macrosJPSI/AddTask_mfigueredo_JPsi.C
PWGDQ/dielectron/macrosJPSI/ConfigJpsi_jb_PbPb.C
PWGDQ/dielectron/macrosJPSI/ConfigJpsi_mf_pp.C

index 3e9dcf33fa175fb823ca44585fd87c6f1e675ae5..fed36507ed408522c3c15052d26b04c9a12c1de0 100644 (file)
@@ -14,7 +14,7 @@ AliAnalysisTask *AddTask_jbook_JPsi(){
   //set config file name
   TString configFile("$TRAIN_ROOT/jbook_jpsi/ConfigJpsi_jb_PbPb.C");
   TString trainRoot=gSystem->Getenv("TRAIN_ROOT");                                                                                   
-  if (trainRoot.IsNull()) configFile="../PWGDQ/dielectron/macrosJPSI/ConfigJpsi_jb_PbPb.C";
+  if (trainRoot.IsNull()) configFile="$ALICE_ROOT/PWGDQ/dielectron/macrosJPSI/ConfigJpsi_jb_PbPb.C";
 
   
   //create task and add it to the manager
diff --git a/PWGDQ/dielectron/macrosJPSI/AddTask_jbook_v2.C b/PWGDQ/dielectron/macrosJPSI/AddTask_jbook_v2.C
new file mode 100644 (file)
index 0000000..ca5fe25
--- /dev/null
@@ -0,0 +1,80 @@
+AliAnalysisTask *AddTask_jbook_v2(){
+  //get the current analysis manager
+  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
+  if (!mgr) {
+    Error("AddTask_jbook_v2", "No analysis manager found.");
+    return 0;
+  }
+
+  //Do we have an MC handler?
+  Bool_t hasMC=(AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()!=0x0);
+  //Do we have an AOD handler?
+  Bool_t isAOD=(mgr->GetInputEventHandler()->IsA()==AliAODInputHandler::Class() ? kTRUE : kFALSE);
+  
+  //set config file name
+  TString configFile("$TRAIN_ROOT/jbook_jpsi/ConfigJpsi_jb_PbPb.C");
+  TString trainRoot=gSystem->Getenv("TRAIN_ROOT");                                                                                   
+  if (trainRoot.IsNull()) configFile="$ALICE_ROOT/PWGDQ/dielectron/macrosJPSI/ConfigJpsi_jb_PbPb.C";
+
+  
+  //create task and add it to the manager
+  AliAnalysisTaskMultiDielectron *task=new AliAnalysisTaskMultiDielectron("MultiDieData");
+  task->SetTriggerMask(AliVEvent::kMB+AliVEvent::kCentral+AliVEvent::kSemiCentral);
+  if (!hasMC) task->UsePhysicsSelection();
+  mgr->AddTask(task);
+  
+  //load dielectron configuration file
+  TString checkconfig="ConfigJpsi_jb_PbPb";
+  if (!gROOT->GetListOfGlobalFunctions()->FindObject(checkconfig.Data()))
+    gROOT->LoadMacro(configFile.Data());
+
+  //add dielectron analysis with different cuts to the task
+  for (Int_t i=16; i<nDie; ++i){ //nDie defined in config file
+    AliDielectron *jpsi=ConfigJpsi_jb_PbPb(i);
+    if (jpsi ) task->AddDielectron(jpsi);
+    if (jpsi ) printf("add: %s\n",jpsi->GetName());
+  }
+  
+  //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.);
+  eventCuts->SetCentralityRange(0.0,80.0);
+  task->SetEventFilter(eventCuts);
+
+  
+  //create output container
+  AliAnalysisDataContainer *coutput1 =
+    mgr->CreateContainer("jbook_v2_tree",
+                         TTree::Class(),
+                         AliAnalysisManager::kExchangeContainer,
+                         "jbook_v2_default");
+  
+  AliAnalysisDataContainer *cOutputHist1 =
+    mgr->CreateContainer("jbook_v2_QA",
+                         TList::Class(),
+                         AliAnalysisManager::kOutputContainer,
+                         "jbookv2.root");
+
+  AliAnalysisDataContainer *cOutputHist2 =
+    mgr->CreateContainer("jbook_v2_CF",
+                         TList::Class(),
+                         AliAnalysisManager::kOutputContainer,
+                         "jbookv2.root");
+  
+  AliAnalysisDataContainer *cOutputHist3 =
+    mgr->CreateContainer("jbook_v2_EventStat",
+                         TH1D::Class(),
+                         AliAnalysisManager::kOutputContainer,
+                         "jbookv2.root");
+  
+  mgr->ConnectInput(task,  0, mgr->GetCommonInputContainer());
+  mgr->ConnectOutput(task, 0, coutput1 );
+  mgr->ConnectOutput(task, 1, cOutputHist1);
+  mgr->ConnectOutput(task, 2, cOutputHist2);
+  mgr->ConnectOutput(task, 3, cOutputHist3);
+  
+  return task;
+}
index 24d859f071350ed85b8676ce935c95886ce444fe..74e48b5dd4ce5658af7dd616a11fae576ff02b54 100644 (file)
@@ -13,8 +13,8 @@ AliAnalysisTask *AddTask_mfigueredo_JPsi(Bool_t hasMC_aod = kFALSE){
   //Do we have an MC handler?
   Bool_t hasMC=(mgr->GetMCtruthEventHandler()!=0x0);
   
-  TString configFile("ConfigJpsi_mf_pp.C");
-  if (hasMC) configFile="../PWGDQ/dielectron/macros/ConfigJpsi2eeEff.C";
+  TString configFile("$ALICE_ROOT/PWGDQ/dielectron/macrosJPSI/ConfigJpsi_mf_pp.C");
+  if (hasMC) configFile="$ALICE_ROOT/PWGDQ/dielectron/macros/ConfigJpsi2eeEff.C";
   Bool_t isAOD=mgr->GetInputEventHandler()->IsA()==AliAODInputHandler::Class();
 
   //create task and add it to the manager
index 0b6e7649e9baaaae075136d5a186f8798e8dee7e..ecd9d34c8fc48347246588f7a30df3251364c239 100644 (file)
@@ -8,8 +8,6 @@ void AddMCSignals(AliDielectron *die);
 void SetEtaCorrection();
 TVectorD *GetRunNumbers();
 
-AliESDtrackCuts *SetupESDtrackCuts(Int_t cutDefinition);
-
 TString names=("TPC;TOF;TRD;rec;TOFTRD;TOFTRD2;ITScls;ITSamy;dca;chi2;Gam0;Gam01;Gam05;Gam10;Gam15;Gam20;EtaGap01;EtaGap02;EtaGap03;EtaGap04;EtaGap05;SubLS;SubRndm");
 enum { kTPC=0, kTOF, kTRD, krec, kTOFTRD, kTOFTRD2, kITScls, kITSamy, kDCA, kChi, kGam0, kGam01, kGam05, kGam10, kGam15, kGam20, kEtaGap01, kEtaGap02, kEtaGap03, kEtaGap04, kEtaGap05, kSubLS, kSubRndm };
 
@@ -78,7 +76,7 @@ AliDielectron* ConfigJpsi_jb_PbPb(Int_t cutDefinition)
     // trd tables
     TString pidTab="$TRAIN_ROOT/util/dielectron/dielectron/TRDpidEff_eleProb07_TRDntr4_6.root";
     TString trainRoot=gSystem->Getenv("TRAIN_ROOT");
-    if (trainRoot.IsNull()) pidTab="../PWGDQ/dielectron/files/TRDpidEff_eleProb07_TRDntr4_6.root";
+    if (trainRoot.IsNull()) pidTab="$ALICE_ROOT/PWGDQ/dielectron/files/TRDpidEff_eleProb07_TRDntr4_6.root";
 
     if (gSystem->AccessPathName(gSystem->ExpandPathName(pidTab.Data())))
       Error("ConfigPbPb","PID table not found: %s",pidTab.Data());
@@ -134,13 +132,9 @@ AliDielectron* ConfigJpsi_jb_PbPb(Int_t cutDefinition)
     }
     
     AliDielectronVarCuts *poi = new AliDielectronVarCuts("PoI","PoI");
-    poi->AddCut(AliDielectronVarManager::kM,2.92,3.16);     // particles of interest, jpsi mass window
+    poi->AddCut(AliDielectronVarManager::kM,2.92,3.20);     // particles of interest, jpsi mass window
     die->GetEventPlanePOIPreFilter().AddCuts(poi); 
     
-    AliDielectronVarCuts *poiTrk = new AliDielectronVarCuts("PoItracks","PoItracks");
-    poiTrk->AddCut(AliDielectronVarManager::kPt,0.8,1e30);
-    die->GetEventPlanePreFilter().AddCuts(poiTrk);
-
     if(cutDefinition >= kEtaGap01 && 
        cutDefinition <  kSubLS     ) {
       AliDielectronVarCuts *etaGap = new AliDielectronVarCuts(AliDielectronVarManager::GetValueName(AliDielectronVarManager::kEta),"etaGap");
@@ -161,6 +155,13 @@ AliDielectron* ConfigJpsi_jb_PbPb(Int_t cutDefinition)
   // setup eta correction
   if(isESD) SetEtaCorrection();
   
+  // VZERO calibration
+  TString trainRoot=gSystem->Getenv("TRAIN_ROOT");
+  if (!trainRoot.IsNull()) {
+    die->SetVZEROCalibrationFilename("$TRAIN_ROOT/util/dielectron/dielectron/VzeroCalibrationLHC10h.root");
+    die->SetVZERORecenteringFilename("$TRAIN_ROOT/util/dielectron/dielectron/VzeroRecenteringLHC10h.root");
+  }
+  
   return die;
 }
 
@@ -176,21 +177,21 @@ void SetupTrackCuts(AliDielectron *die, Int_t cutDefinition)
   die->GetTrackFilter().AddCuts(cuts);
   
   //Pt cut, should make execution a bit faster
-  AliDielectronVarCuts *pt = new AliDielectronVarCuts("Pt>.8","Pt>.8");
-  pt->AddCut(AliDielectronVarManager::kPt,0.8,1e30);
+  AliDielectronVarCuts *pt = new AliDielectronVarCuts("PtCut","PtCut");
+  if(cutDefinition >= kEtaGap01 )   
+    pt->AddCut(AliDielectronVarManager::kPt,1.1,1e30);
+  else   
+    pt->AddCut(AliDielectronVarManager::kPt,0.8,1e30);
   cuts->AddCut(pt);
   
-  //ESD track cuts
-  Bool_t isESD=(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()->IsA()==AliESDInputHandler::Class());
-  if(isESD) cuts->AddCut(SetupESDtrackCuts(cutDefinition));
-  
-  // track cuts ESD and AOD
+       // track cuts ESD and AOD
   AliDielectronVarCuts *varCuts = new AliDielectronVarCuts("VarCuts","VarCuts");
   varCuts->AddCut(AliDielectronVarManager::kImpactParXY, -1.0,   1.0);
   varCuts->AddCut(AliDielectronVarManager::kImpactParZ,  -3.0,   3.0);
   varCuts->AddCut(AliDielectronVarManager::kEta,         -0.9,   0.9);
   varCuts->AddCut(AliDielectronVarManager::kTPCchi2Cl,    0.0,   4.0);
   varCuts->AddCut(AliDielectronVarManager::kNclsTPC,     70.0, 160.0);
+  varCuts->AddCut(AliDielectronVarManager::kKinkIndex0,   0.0);
   switch(cutDefinition) {
     case kTOFTRD2: varCuts->AddCut(AliDielectronVarManager::kITSLayerFirstCls,-0.01,0.5); //ITS(0) = SPDfirst
       break;
@@ -212,9 +213,7 @@ void SetupTrackCuts(AliDielectron *die, Int_t cutDefinition)
   
   ////////////////////////////////// DATA
   if(!hasMC) {
-    pid->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-3.,3.);   // merge with below ones vv
     pid->AddCut(AliDielectronPID::kTPC,AliPID::kPion,-100.,3.5,0.,0.,kTRUE);
-    //if((cutDefinition!=kTOF && cutDefinition<kTOFTRD) || cutDefinition>=kGam0) 
     pid->AddCut(AliDielectronPID::kTPC,AliPID::kProton,-100.,3.5,0.,0.,kTRUE);
     
     if(cutDefinition==kTRD || cutDefinition>=kTOFTRD || cutDefinition>=kTOFTRD2) 
@@ -226,7 +225,6 @@ void SetupTrackCuts(AliDielectron *die, Int_t cutDefinition)
   if(hasMC) {
     
     // electron
-    pid->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-3.,3.);   //merge with data only ^^
     Double_t nSigmaPi = 3.5; Double_t nSigmaP = 3.5;
     Double_t resolution=0.0549;
     Double_t BBpro[5] = {0};
@@ -285,7 +283,7 @@ void SetupTrackCuts(AliDielectron *die, Int_t cutDefinition)
       TString list=gSystem->Getenv("LIST");
       
       //LHC11a10b
-      if (list.Contains("LHC11a10b")) {
+      if (list.Contains("LHC11a10b") || list.IsNull()) {
         printf("LHC11a10b parameters\n");
         ffPro->SetParameters(BBpro[0],BBpro[1],BBpro[2],BBpro[3],BBpro[4]);
         ffPio->SetParameters(BBpio[0],BBpio[1],BBpio[2],BBpio[3],BBpio[4]);
@@ -302,7 +300,7 @@ void SetupTrackCuts(AliDielectron *die, Int_t cutDefinition)
     // shifts for the nSigma electrons
     TGraph* nSigmaCorrection = new TGraph();
     // LHC11a10b
-    if (list.Contains("LHC11a10b")) {
+    if (list.Contains("LHC11a10b") || list.IsNull()) {
       nSigmaCorrection->SetPoint(0, 137161., -0.50-(0.28));
       nSigmaCorrection->SetPoint(1, 139510., -0.50-(0.28));
       pid->SetCorrGraph(nSigmaCorrection);
@@ -311,7 +309,8 @@ void SetupTrackCuts(AliDielectron *die, Int_t cutDefinition)
   } //hasMC
   
   ////////////////////////////////// DATA + MC
-  // pid cuts TOF & TRD
+  // pid cuts TPC + TOF & TRD
+  pid->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-3.,3.);
   if(cutDefinition==kTOF || cutDefinition>=kTOFTRD || cutDefinition>=kTOFTRD2) 
     pid->AddCut(AliDielectronPID::kTOF,AliPID::kElectron,-3,3.,0.,0.,kFALSE,AliDielectronPID::kIfAvailable);
   
@@ -359,49 +358,6 @@ void SetupPairCuts(AliDielectron *die, Int_t cutDefinition)
   
 }
 
-//______________________________________________________________________________________
-AliESDtrackCuts *SetupESDtrackCuts(Int_t cutDefinition)
-{
-  //
-  // Setup default AliESDtrackCuts
-  //
-  AliESDtrackCuts *esdTrackCuts = new AliESDtrackCuts;
-  // reconstruction cuts
-  esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
-
-  /*
-   // basic track quality cuts  (basicQ)
-   esdTrackCuts->SetMaxDCAToVertexZ(3.0);
-   esdTrackCuts->SetMaxDCAToVertexXY(1.0);
-   
-   // acceptance cuts
-   esdTrackCuts->SetEtaRange( -0.9 , 0.9 );
-   //esdTrackCuts->SetPtRange( 0.8, 1e30 );
-
-   // reconstruction cuts
-   esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
-   esdTrackCuts->SetRequireITSRefit(kTRUE);
-   esdTrackCuts->SetRequireTPCRefit(kTRUE);
-   
-   esdTrackCuts->SetMinNClustersTPC(70);
-   //  if(cutDefinition<=kChi || cutDefinition>=kEtaGap01) 
-   //  else esdTrackCuts->SetMinNClustersTPC(120);
-   esdTrackCuts->SetMaxChi2PerClusterTPC(4);
-   //  if(cutDefinition!=kITSamy) esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kFirst);   //  SPD first
-   // esdTrackCuts->SetMinRatioCrossedRowsOverFindableClustersTPC(0.5);
-   
-   switch(cutDefinition) {
-   case kTOFTRD2:     
-   esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kFirst);  // SPDfirst
-   break;
-   default:
-   esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny);  // SPDany
-   break;
-   }
-   */
-  return esdTrackCuts;
-}
-
 //______________________________________________________________________________________
 void InitHistograms(AliDielectron *die, Int_t cutDefinition)
 {
@@ -441,7 +397,6 @@ void InitHistograms(AliDielectron *die, Int_t cutDefinition)
   
   
   ////// FLOW //////
-  if(0) {
   if(cutDefinition == kTOFTRD || cutDefinition >= kEtaGap01) {
     histos->UserHistogram("Event","TPCxH2","TPC Qx component;TPCxH2",
                           100,-1500.,1500.,
@@ -583,7 +538,6 @@ void InitHistograms(AliDielectron *die, Int_t cutDefinition)
                           AliDielectronVarManager::kCentrality,AliDielectronVarManager::kv0Av0CDiffH2);
     
   }
-  }
   
   ////// MONTE CARLO //////
   /*
@@ -681,7 +635,6 @@ void InitHistograms(AliDielectron *die, Int_t cutDefinition)
   }
   
   //// FLOW results use tprofiles
-  if(0) {
   if(cutDefinition == kTOFTRD || cutDefinition == kTOFTRD2 || cutDefinition >= kEtaGap01) {
     
     histos->UserProfile("Pair","M_Cent_Pt_V0ACrpH2FlowV2",
@@ -720,7 +673,6 @@ void InitHistograms(AliDielectron *die, Int_t cutDefinition)
                         125,0.,125*.04,
                         AliDielectronVarManager::kM);
   }  
-  }
   
   die->SetHistogramManager(histos);
 }
@@ -860,7 +812,7 @@ void SetEtaCorrection()
 
   TString etaMap="$TRAIN_ROOT/jpsi_JPSI/EtaCorrMaps.root";
   TString trainRoot=gSystem->Getenv("TRAIN_ROOT");
-  if (trainRoot.IsNull()) etaMap="../PWGDQ/dielectron/files/EtaCorrMaps.root";
+  if (trainRoot.IsNull()) etaMap="$ALICE_ROOT/PWGDQ/dielectron/files/EtaCorrMaps.root";
   if (gSystem->AccessPathName(gSystem->ExpandPathName(etaMap.Data()))){
     Error("ConfigPbPb","Eta map not found: %s",etaMap.Data());
     return;
index 2586ac212542fb3065b2aa7a5c9f3537732d2d33..782695644e89979512e3cfc8acdf5db5edce532b 100644 (file)
@@ -5,7 +5,7 @@ void InitCFDieleData(AliDielectron *diele, Int_t cutDefinition, Bool_t isAOD);
 
 AliESDtrackCuts *SetupESDtrackCutsDieleData(Int_t cutDefinition);
 
-TString namesDieleData=("basicQ+SPDAny+pt>1+PID;basicQ+EMCal+SPDAny+pt6_20;basicQ+EMCal+SPDAny+pt8_20;EMCal+SPDAny+pt6_20;EMCal+SPDAny+pt8_20;EMCal+SPDFirst+pt6_20;EMCal+SPDFirst+pt8_20;EMCal+SPDAny");
+TString namesDieleData=("basicQ+SPDAny+pt>1+PID;EMCal+SPDAny+pt6_100;EMCal+SPDFirst+pt6_100;EMCal+SPDAny;EMCal+SPDFirst");
 TObjArray *arrNamesDieleData=namesDieleData.Tokenize("; ");
 
 const Int_t nDie=arrNamesDieleData->GetEntries();
@@ -37,7 +37,7 @@ AliDielectron* ConfigJpsi_mf_pp(Int_t cutDefinition, Bool_t isAOD=kFALSE)
   InitHistogramsDieleData(diele, cutDefinition, isAOD);
 
   // the last definition uses no cuts and only the QA histograms should be filled!
-  if (cutDefinition==nDie-1) InitCFDieleData(diele, cutDefinition, isAOD);
+  if (cutDefinition>=nDie-2) InitCFDieleData(diele, cutDefinition, isAOD);
 
   AliDielectronTrackRotator *rot=new AliDielectronTrackRotator;
   rot->SetConeAnglePhi(TMath::Pi());
@@ -59,8 +59,8 @@ void SetupEventCutsDieleFilter(AliDielectron *diele, Int_t cutDefinition, Bool_t
   Centrality->AddCut(AliDielectronVarManager::kCentrality,0.,40.);
   
   diele->GetEventFilter().AddCuts(vtxZ);
-  if(cutDefinition<nDie-1) diele->GetEventFilter().AddCuts(Centrality);
-  
+  if(cutDefinition<=2)         
+    diele->GetEventFilter().AddCuts(Centrality);
   
 }
 
@@ -77,7 +77,7 @@ void SetupTrackCutsDieleData(AliDielectron *diele, Int_t cutDefinition, Bool_t i
     diele->GetTrackFilter().AddCuts(SetupESDtrackCutsDieleData(cutDefinition));
   } else {
     AliDielectronTrackCuts *trackCuts=new AliDielectronTrackCuts("trackCuts","trackCuts");
-    if (cutDefinition==5||cutDefinition==6)
+    if (cutDefinition==2||cutDefinition==4)
       trackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kFirst);
     else 
       trackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny);
@@ -91,11 +91,17 @@ void SetupTrackCutsDieleData(AliDielectron *diele, Int_t cutDefinition, Bool_t i
   pt->AddCut(AliDielectronVarManager::kPt,1.,1e30);
   pt->AddCut(AliDielectronVarManager::kKinkIndex0,0.);
   //AOD additions since there are no AliESDtrackCuts -----------------
-  pt->AddCut(AliDielectronVarManager::kNclsTPC,60.,160.);
   pt->AddCut(AliDielectronVarManager::kEta,-0.9,0.9);
-  if(cutDefinition>2&&cutDefinition!=nDie-1) pt->AddCut(AliDielectronVarManager::kTPCsignal,70.,120.);
-  if(cutDefinition==nDie-1) pt->AddCut(AliDielectronVarManager::kTPCsignal,50.,150.); 
+  
+  if(cutDefinition==0)                         pt->AddCut(AliDielectronVarManager::kTPCsignal,55.,150.); 
+  if(cutDefinition==1||cutDefinition==2)       pt->AddCut(AliDielectronVarManager::kTPCsignal,70.,120.);
+  if(cutDefinition<=2)                         pt->AddCut(AliDielectronVarManager::kNclsTPC,80.,160.);
 
+  if(cutDefinition>2) {
+    pt->AddCut(AliDielectronVarManager::kTPCsignal,55.,150.); 
+    pt->AddCut(AliDielectronVarManager::kNclsTPC,60.,160.);
+  }
+  
   diele->GetTrackFilter().AddCuts(pt);
 
   // PID cuts --------------------------------------------------------
@@ -104,11 +110,7 @@ void SetupTrackCutsDieleData(AliDielectron *diele, Int_t cutDefinition, Bool_t i
   pid->AddCut(AliDielectronPID::kTPC,AliPID::kPion,-3.,3.,0.,0.,kTRUE);
   pid->AddCut(AliDielectronPID::kTPC,AliPID::kProton,-20.,3.,0.,0.,kTRUE);
   if(cutDefinition==0) diele->GetTrackFilter().AddCuts(pid);
-  // PID cuts 2 ---- For EMCal purposes (all electron band) ----------------------------------------------------
-  AliDielectronPID *pid2 = new AliDielectronPID("PIDforemcal","TPC nSigma |e|<3");
-  pid2->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-3.,3.);
-  if(cutDefinition==1||cutDefinition==2) diele->GetTrackFilter().AddCuts(pid2);
-  
+
 }
 
 //______________________________________________________________________________________
@@ -121,18 +123,17 @@ void SetupPairCutsDieleData(AliDielectron *diele, Int_t cutDefinition, Bool_t is
   AliDielectronVarCuts *pairCut=new AliDielectronVarCuts("0<M<5+|Y|<.9+PtEMCalleg","0<M<5 + |Y|<.9+PtEMCalleg");
   pairCut->AddCut(AliDielectronVarManager::kM,0.,5.);
   pairCut->AddCut(AliDielectronVarManager::kY,-0.9,0.9);
-  if(cutDefinition==1&&cutDefinition==3&&cutDefinition==5)     pairCut->AddCut(AliDielectronVarManager::kPt,6.,20.);
-  if(cutDefinition==2&&cutDefinition==4&&cutDefinition==6)     pairCut->AddCut(AliDielectronVarManager::kPt,8.,20.);
-  if(cutDefinition==nDie-1)                                    pairCut->AddCut(AliDielectronVarManager::kPt,2.,100.);
+  if(cutDefinition==1||cutDefinition==2)       pairCut->AddCut(AliDielectronVarManager::kPt,6.,100.);
+  if(cutDefinition>2)                          pairCut->AddCut(AliDielectronVarManager::kPt,2.,100.);
   diele->GetPairFilter().AddCuts(pairCut);
   
-  if(cutDefinition>1){
-         AliDielectronVarCuts *mycut = new AliDielectronVarCuts("ptCutEMCAL","cut for EMCal");
-         mycut->AddCut(AliDielectronVarManager::kEMCALnSigmaEle,-3.,3.);
-         mycut->AddCut(AliDielectronVarManager::kP,5.,1e30);
-         AliDielectronPairLegCuts *varpair=new AliDielectronPairLegCuts();
-         varpair->GetLeg1Filter().AddCuts(mycut);
-         diele->GetPairFilter().AddCuts(varpair);
+  if(cutDefinition==1||cutDefinition==2){
+    AliDielectronVarCuts *mycut = new AliDielectronVarCuts("ptCutEMCAL","cut for EMCal");
+    mycut->AddCut(AliDielectronVarManager::kEMCALnSigmaEle,-3.,3.);
+    mycut->AddCut(AliDielectronVarManager::kP,6.,1e30);
+    AliDielectronPairLegCuts *varpair=new AliDielectronPairLegCuts();
+    varpair->GetLeg1Filter().AddCuts(mycut);
+    diele->GetPairFilter().AddCuts(varpair);
   }
   
 }
@@ -247,23 +248,26 @@ void InitCFDieleData(AliDielectron *diele, Int_t cutDefinition, Bool_t isAOD)
   AliDielectronCF *cf=new AliDielectronCF(diele->GetName(),diele->GetTitle());
   
   //pair variables
-  cf->AddVariable(AliDielectronVarManager::kPt,"2.0, 4.0, 6., 8.0, 10.0, 100.0");
+  cf->AddVariable(AliDielectronVarManager::kPt,"2.0, 4.0, 6.0,7.0, 8.0, 10.0, 100.0");
   cf->AddVariable(AliDielectronVarManager::kY,"-5,-1,-0.9,-0.8,-0.7,-0.5,-0.3,0.3,0.5,0.7,0.8,0.9,1.0,5");
   cf->AddVariable(AliDielectronVarManager::kM,125,0.,125*.04); //40Mev Steps
   cf->AddVariable(AliDielectronVarManager::kPairType,11,0,11);
-  cf->AddVariable(AliDielectronVarManager::kOpeningAngle,"0.,0.2,0.5,1.,2.,3.14");
+  cf->AddVariable(AliDielectronVarManager::kOpeningAngle,"0.,0.2,0.5,0.8,1.,1.5,2.,3.14");
   //leg variables
   cf->AddVariable(AliDielectronVarManager::kPt,"0.0, 0.8, 1.0, 2.0, 3.0, 4.0, 5.0, 100.0",kTRUE);
+  cf->AddVariable(AliDielectronVarManager::kP,"0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 8.0, 10.0, 100.0",kTRUE);
   cf->AddVariable(AliDielectronVarManager::kNclsTPC,"0, 70, 75, 80, 85, 90, 100, 120, 160",kTRUE);
   cf->AddVariable(AliDielectronVarManager::kEta,"-5,-1,-0.9,-0.85,-0.8,-0.75,0.75,0.8,0.85,0.9,1.0,5",kTRUE);
-  cf->AddVariable(AliDielectronVarManager::kTPCnSigmaEle,"-2.5,-2,-1.5,-1,-0.5,4.",kTRUE);
+  cf->AddVariable(AliDielectronVarManager::kEMCALnSigmaEle,"-3.,-2,-1.,1.,2.,3.,4.",kTRUE);
+  cf->AddVariable(AliDielectronVarManager::kTPCnSigmaEle,"-3.,-2.5,-2,-1.5,-1,-0.5,2.,3.,4.",kTRUE);
   cf->AddVariable(AliDielectronVarManager::kTPCnSigmaPio,"3.,3.5,4.,100",kTRUE);
   cf->AddVariable(AliDielectronVarManager::kTPCnSigmaPro,"3.,3.5,4.,100",kTRUE);
-  cf->AddVariable(AliDielectronVarManager::kTPCsignal,"60.,65.,68.,70.,80.,90.,100.,120.,150.",kTRUE);
+  cf->AddVariable(AliDielectronVarManager::kTPCsignal,"60.,65.,68.,70.,72.,80.,90.,100.,120.,150.",kTRUE);
 
   //event variables
   cf->AddVariable(AliDielectronVarManager::kNaccTrcklts,"0.0, 9.0, 17.0, 25.0, 36.0, 55.0, 500.0");
-  cf->AddVariable(AliDielectronVarManager::kCentrality,"0.0,20.0,40.0,80.0");
+  cf->AddVariable(AliDielectronVarManager::kCentrality,"0.0,10.0,20.0,40.0,60.0,80.0");
+  cf->AddVariable(AliDielectronVarManager::kNclsITS,"1,2,3,4,5,6",kTRUE); 
   if (!isAOD){
     Bool_t hasMC=(AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()!=0x0);
     if (hasMC){