]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
updates
authorssakai <ssakai@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 27 Feb 2013 13:34:05 +0000 (13:34 +0000)
committerssakai <ssakai@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 27 Feb 2013 13:34:05 +0000 (13:34 +0000)
PWGHF/hfe/AliAnalysisTaskHFE.cxx
PWGHF/hfe/macros/AddTaskHFEpPb.C
PWGHF/hfe/macros/configs/pPb/ConfigHFEmbpPb.C
PWGHF/hfe/macros/configs/pPb/ConfigHFEpPb.C
PWGHF/hfe/macros/test/CreateAlienHandlerpPb.C
PWGHF/hfe/macros/test/runGridpPb.C

index 2524b926216f2fa762112de7d22b5bad6971fdf5..1d7cd8286c1ec0fada12ec492db8240e2111d3c9 100644 (file)
@@ -99,7 +99,7 @@ AliAnalysisTaskSE("PID efficiency Analysis")
   , fCollisionSystem(3)\r
   , fFillSignalOnly(kTRUE)\r
   , fFillNoCuts(kFALSE)\r
-  , fApplyCutAOD(kFALSE)\r
+  , fApplyCutAOD(kTRUE)\r
   , fBackGroundFactorApply(kFALSE)\r
   , fRemovePileUp(kFALSE)\r
   , fIdentifiedAsPileUp(kFALSE)\r
@@ -165,7 +165,7 @@ AliAnalysisTaskHFE::AliAnalysisTaskHFE(const char * name):
   , fCollisionSystem(3)\r
   , fFillSignalOnly(kTRUE)\r
   , fFillNoCuts(kFALSE)\r
-  , fApplyCutAOD(kFALSE)\r
+  , fApplyCutAOD(kTRUE)\r
   , fBackGroundFactorApply(kFALSE)\r
   , fRemovePileUp(kFALSE)\r
   , fIdentifiedAsPileUp(kFALSE)\r
@@ -425,6 +425,11 @@ void AliAnalysisTaskHFE::UserCreateOutputObjects(){
   fQACollection->CreateTH1F("nElectronTracksEvent", "Number of Electron Candidates", 100, 0, 100);\r
   fQACollection->CreateTH1F("nElectron", "Number of electrons", 100, 0, 100);\r
   fQACollection->CreateTH2F("radius", "Production Vertex", 100, 0.0, 5.0, 100, 0.0, 5.0);\r
+\r
+  if(IsAODanalysis()){\r
+    fQACollection->CreateTH1F("Filterorigin","AOD filter of tracks at origin", 21,-1, 20);\r
+    fQACollection->CreateTH1F("Filterend","AOD filter of tracks after all cuts", 21, -1, 20);\r
+  }\r
  \r
   InitHistoITScluster();\r
   InitContaminationQA();\r
@@ -1472,6 +1477,14 @@ void AliAnalysisTaskHFE::ProcessAOD(){
       }\r
     }\r
 \r
+    fQACollection->Fill("Filterorigin", -1);  \r
+    for(Int_t k=0; k<20; k++) {\r
+      Int_t u = 1<<k;\r
+      if((track->TestFilterBit(u))) {\r
+             fQACollection->Fill("Filterorigin", k);\r
+      }\r
+    }\r
+\r
     if(fApplyCutAOD) {\r
       //printf("Apply cuts\n");\r
       // RecKine: ITSTPC cuts  \r
@@ -1479,14 +1492,14 @@ void AliAnalysisTaskHFE::ProcessAOD(){
 \r
       // Reject kink mother\r
       if(fRejectKinkMother) {\r
-       Bool_t kinkmotherpass = kTRUE;\r
-       for(Int_t kinkmother = 0; kinkmother < numberofmotherkink; kinkmother++) {\r
-         if(track->GetID() == listofmotherkink[kinkmother]) {\r
-           kinkmotherpass = kFALSE;\r
-           continue;\r
-         }\r
-       }\r
-       if(!kinkmotherpass) continue;\r
+           Bool_t kinkmotherpass = kTRUE;\r
+           for(Int_t kinkmother = 0; kinkmother < numberofmotherkink; kinkmother++) {\r
+             if(track->GetID() == listofmotherkink[kinkmother]) {\r
+               kinkmotherpass = kFALSE;\r
+               continue;\r
+             }\r
+           }\r
+           if(!kinkmotherpass) continue;\r
       }\r
       \r
       // RecPrim\r
index a2036f0270236ca795cfee3b673aea86302b9ed5..dda16bbc21e6fc0e19630f2b24c95193c2ceeed7 100644 (file)
@@ -1,4 +1,4 @@
-AliAnalysisTask *AddTaskHFEpPb(){\r
+AliAnalysisTask *AddTaskHFEpPb(Bool_t isAOD = kFALSE){\r
   // Switches for the TOF-TPC analysis\r
   Bool_t kTPC_Only                   = kTRUE;\r
   Bool_t kTPCTOF_Ref                 = kTRUE;\r
@@ -60,11 +60,11 @@ AliAnalysisTask *AddTaskHFEpPb(){
     // mean = 0.045\r
     // sigma = 0.88\r
     // 50%\r
-    RegisterTaskPID2(MCthere,kDefTPCcl,kDefTPCclPID,kDefITScl,kDefDCAr,kDefDCAz,kDefTPCs,kDefTPCu,kDefTOFs,0,AliHFEextraCuts::kBoth);\r
-    RegisterTaskPID2(MCthere,kDefTPCcl,kDefTPCclPID,kDefITScl,kDefDCAr,kDefDCAz,0.295,kDefTPCu,kDefTOFs,0,AliHFEextraCuts::kBoth);\r
+    RegisterTaskPID2(MCthere,isAOD,kDefTPCcl,kDefTPCclPID,kDefITScl,kDefDCAr,kDefDCAz,kDefTPCs,kDefTPCu,kDefTOFs,0,AliHFEextraCuts::kBoth);\r
+    RegisterTaskPID2(MCthere,isAOD,kDefTPCcl,kDefTPCclPID,kDefITScl,kDefDCAr,kDefDCAz,0.295,kDefTPCu,kDefTOFs,0,AliHFEextraCuts::kBoth);\r
 \r
     // add centrality\r
-    RegisterTask(MCthere,kDefTPCcl,kDefTPCclPID,kDefITScl,kDefDCAr,kDefDCAz,&dEdxlm[0],&dEdxhm[0],kDefTOFs,0,AliHFEextraCuts::kBoth); // 50%\r
+    RegisterTask(MCthere,isAOD,kDefTPCcl,kDefTPCclPID,kDefITScl,kDefDCAr,kDefDCAz,&dEdxlm[0],&dEdxhm[0],kDefTOFs,0,AliHFEextraCuts::kBoth); // 50%\r
     //if (!MCthere){\r
     //  RegisterTask(MCthere,kDefTPCcl,kDefTPCclPID,kDefITScl,kDefDCAr,kDefDCAz,&tpcl0[0],&dEdxhm[0],kDefTOFs,0,AliHFEextraCuts::kBoth);  // 84%\r
     //}\r
@@ -74,31 +74,31 @@ AliAnalysisTask *AddTaskHFEpPb(){
     // TPC PID\r
     if (!MCthere){\r
       // 84%\r
-      RegisterTaskPID2(MCthere,kDefTPCcl,kDefTPCclPID,kDefITScl,kDefDCAr,kDefDCAz,-0.835,kDefTPCu,kDefTOFs,0,AliHFEextraCuts::kBoth);\r
+      RegisterTaskPID2(MCthere,isAOD,kDefTPCcl,kDefTPCclPID,kDefITScl,kDefDCAr,kDefDCAz,-0.835,kDefTPCu,kDefTOFs,0,AliHFEextraCuts::kBoth);\r
       // 60%\r
-      RegisterTaskPID2(MCthere,kDefTPCcl,kDefTPCclPID,kDefITScl,kDefDCAr,kDefDCAz,-0.184,kDefTPCu,kDefTOFs,0,AliHFEextraCuts::kBoth);\r
+      RegisterTaskPID2(MCthere,isAOD,kDefTPCcl,kDefTPCclPID,kDefITScl,kDefDCAr,kDefDCAz,-0.184,kDefTPCu,kDefTOFs,0,AliHFEextraCuts::kBoth);\r
       // 40%\r
-      RegisterTaskPID2(MCthere,kDefTPCcl,kDefTPCclPID,kDefITScl,kDefDCAr,kDefDCAz,0.265,kDefTPCu,kDefTOFs,0,AliHFEextraCuts::kBoth);\r
+      RegisterTaskPID2(MCthere,isAOD,kDefTPCcl,kDefTPCclPID,kDefITScl,kDefDCAr,kDefDCAz,0.265,kDefTPCu,kDefTOFs,0,AliHFEextraCuts::kBoth);\r
     }\r
 \r
     // TOF PID\r
-    RegisterTaskPID2(MCthere,kDefTPCcl,kDefTPCclPID,kDefITScl,kDefDCAr,kDefDCAz,kDefTPCs,kDefTPCu,2.0,0,AliHFEextraCuts::kBoth);\r
-    RegisterTaskPID2(MCthere,kDefTPCcl,kDefTPCclPID,kDefITScl,kDefDCAr,kDefDCAz,kDefTPCs,kDefTPCu,4.0,0,AliHFEextraCuts::kBoth);\r
+    RegisterTaskPID2(MCthere,isAOD,kDefTPCcl,kDefTPCclPID,kDefITScl,kDefDCAr,kDefDCAz,kDefTPCs,kDefTPCu,2.0,0,AliHFEextraCuts::kBoth);\r
+    RegisterTaskPID2(MCthere,isAOD,kDefTPCcl,kDefTPCclPID,kDefITScl,kDefDCAr,kDefDCAz,kDefTPCs,kDefTPCu,4.0,0,AliHFEextraCuts::kBoth);\r
     // TOF latest mismatch - helps nothing\r
     //RegisterTaskPID2(MCthere,kDefTPCcl,kDefTPCclPID,kDefITScl,kDefDCAr,kDefDCAz,kDefTPCs,kDefTPCu,kDefTOFs,1,AliHFEextraCuts::kBoth);\r
 \r
     // ITS hits and SPD request\r
-    RegisterTaskPID2(MCthere,kDefTPCcl,kDefTPCclPID,4,kDefDCAr,kDefDCAz,kDefTPCs,kDefTPCu,kDefTOFs,0,AliHFEextraCuts::kBoth);\r
-    RegisterTaskPID2(MCthere,kDefTPCcl,kDefTPCclPID,5,kDefDCAr,kDefDCAz,kDefTPCs,kDefTPCu,kDefTOFs,0,AliHFEextraCuts::kBoth);\r
-    RegisterTaskPID2(MCthere,kDefTPCcl,kDefTPCclPID,3,kDefDCAr,kDefDCAz,kDefTPCs,kDefTPCu,kDefTOFs,0,AliHFEextraCuts::kFirst);\r
-    RegisterTaskPID2(MCthere,kDefTPCcl,kDefTPCclPID,4,kDefDCAr,kDefDCAz,kDefTPCs,kDefTPCu,kDefTOFs,0,AliHFEextraCuts::kFirst);\r
+    RegisterTaskPID2(MCthere,isAOD,kDefTPCcl,kDefTPCclPID,4,kDefDCAr,kDefDCAz,kDefTPCs,kDefTPCu,kDefTOFs,0,AliHFEextraCuts::kBoth);\r
+    RegisterTaskPID2(MCthere,isAOD,kDefTPCcl,kDefTPCclPID,5,kDefDCAr,kDefDCAz,kDefTPCs,kDefTPCu,kDefTOFs,0,AliHFEextraCuts::kBoth);\r
+    RegisterTaskPID2(MCthere,isAOD,kDefTPCcl,kDefTPCclPID,3,kDefDCAr,kDefDCAz,kDefTPCs,kDefTPCu,kDefTOFs,0,AliHFEextraCuts::kFirst);\r
+    RegisterTaskPID2(MCthere,isAOD,kDefTPCcl,kDefTPCclPID,4,kDefDCAr,kDefDCAz,kDefTPCs,kDefTPCu,kDefTOFs,0,AliHFEextraCuts::kFirst);\r
 \r
     // TPC clusters\r
-    RegisterTaskPID2(MCthere,100,kDefTPCclPID,kDefITScl,kDefDCAr,kDefDCAz,kDefTPCs,kDefTPCu,kDefTOFs,0,AliHFEextraCuts::kBoth);\r
-    RegisterTaskPID2(MCthere,120,kDefTPCclPID,kDefITScl,kDefDCAr,kDefDCAz,kDefTPCs,kDefTPCu,kDefTOFs,0,AliHFEextraCuts::kBoth);\r
-    RegisterTaskPID2(MCthere,130,kDefTPCclPID,kDefITScl,kDefDCAr,kDefDCAz,kDefTPCs,kDefTPCu,kDefTOFs,0,AliHFEextraCuts::kBoth);\r
+    RegisterTaskPID2(MCthere,isAOD,100,kDefTPCclPID,kDefITScl,kDefDCAr,kDefDCAz,kDefTPCs,kDefTPCu,kDefTOFs,0,AliHFEextraCuts::kBoth);\r
+    RegisterTaskPID2(MCthere,isAOD,120,kDefTPCclPID,kDefITScl,kDefDCAr,kDefDCAz,kDefTPCs,kDefTPCu,kDefTOFs,0,AliHFEextraCuts::kBoth);\r
+    RegisterTaskPID2(MCthere,isAOD,130,kDefTPCclPID,kDefITScl,kDefDCAr,kDefDCAz,kDefTPCs,kDefTPCu,kDefTOFs,0,AliHFEextraCuts::kBoth);\r
     // TPC clusters PID\r
-    RegisterTaskPID2(MCthere,kDefTPCcl,100,kDefITScl,kDefDCAr,kDefDCAz,kDefTPCs,kDefTPCu,kDefTOFs,0,AliHFEextraCuts::kBoth);\r
+    RegisterTaskPID2(MCthere,isAOD,kDefTPCcl,100,kDefITScl,kDefDCAr,kDefDCAz,kDefTPCs,kDefTPCu,kDefTOFs,0,AliHFEextraCuts::kBoth);\r
 \r
   }\r
   \r
@@ -108,7 +108,7 @@ AliAnalysisTask *AddTaskHFEpPb(){
 \r
 //===============================================================================\r
 \r
-AliAnalysisTask *RegisterTask(Bool_t useMC, Int_t tpcCls=120, Int_t tpcClsPID = 80, \r
+AliAnalysisTask *RegisterTask(Bool_t useMC, Bool_t isAOD, Int_t tpcCls=120, Int_t tpcClsPID = 80, \r
                              Int_t itsCls=4, Double_t dcaxy=1.0, Double_t dcaz=2.0, \r
                              Double_t *tpcdEdxcutlow=NULL, \r
                              Double_t *tpcdEdxcuthigh=NULL, \r
@@ -134,11 +134,14 @@ AliAnalysisTask *RegisterTask(Bool_t useMC, Int_t tpcCls=120, Int_t tpcClsPID =
   gROOT->LoadMacro("$ALICE_ROOT/PWGHF/hfe/macros/configs/pPb/ConfigHFEpPb.C");\r
   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();\r
   AliAnalysisDataContainer *cinput  = mgr->GetCommonInputContainer();\r
-  AliAnalysisTaskHFE *task = ConfigHFEpPb(useMC, appendix, tpcCls, tpcClsPID, itsCls, dcaxy, dcaz, \r
+  AliAnalysisTaskHFE *task = ConfigHFEpPb(useMC, isAOD, appendix, tpcCls, tpcClsPID, itsCls, dcaxy, dcaz, \r
                                          tpcdEdxcutlow,tpcdEdxcuthigh,\r
                                          tofs,tofm,itshitpixel);\r
 \r
-  task->SetESDAnalysis();\r
+  if(isAOD)\r
+    task->SetAODAnalysis();\r
+  else\r
+    task->SetESDAnalysis();\r
   if (useMC)\r
     task->SetHasMCData(kTRUE);\r
   else{\r
@@ -166,7 +169,7 @@ AliAnalysisTask *RegisterTask(Bool_t useMC, Int_t tpcCls=120, Int_t tpcClsPID =
 \r
 //===============================================================================\r
 \r
-AliAnalysisTask *RegisterTaskPID2(Bool_t useMC, Int_t tpcCls=120, Int_t tpcClsPID = 80, \r
+AliAnalysisTask *RegisterTaskPID2(Bool_t useMC, Bool_t isAOD, Int_t tpcCls=120, Int_t tpcClsPID = 80, \r
                                  Int_t itsCls=4, Double_t dcaxy=1.0, Double_t dcaz=2.0, \r
                                  Double_t tpcs=-0.0113, Double_t tpcu=3.09, Double_t tofs=3., \r
                                  Int_t tofm=0,\r
@@ -175,9 +178,12 @@ AliAnalysisTask *RegisterTaskPID2(Bool_t useMC, Int_t tpcCls=120, Int_t tpcClsPI
   gROOT->LoadMacro("$ALICE_ROOT/PWGHF/hfe/macros/configs/pPb/ConfigHFEmbpPb.C");\r
   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();\r
   AliAnalysisDataContainer *cinput  = mgr->GetCommonInputContainer();\r
-  AliAnalysisTaskHFE *task = ConfigHFEmbpPb(useMC, tpcCls, tpcClsPID, itsCls, dcaxy, dcaz, \r
+  AliAnalysisTaskHFE *task = ConfigHFEmbpPb(useMC, isAOD, tpcCls, tpcClsPID, itsCls, dcaxy, dcaz, \r
                                             tpcs,tpcu,tofs,tofm,3.,kFALSE,kTRUE,kFALSE,itshitpixel,withetacorrection);\r
-  task->SetESDAnalysis();\r
+  if()\r
+    task->SetAODAnalysis();\r
+  else\r
+    task->SetESDAnalysis();\r
   if (useMC)\r
     task->SetHasMCData(kTRUE);\r
   else{\r
index b5ee94e875c3ad8c93620fe15ab3c7b26b17d48c..b52ab3c81117e73f1f6dc14d69cebba14be58e22 100644 (file)
@@ -1,4 +1,4 @@
-AliAnalysisTaskHFE* ConfigHFEmbpPb(Bool_t useMC, UChar_t TPCcl=70, UChar_t TPCclPID = 80, UChar_t ITScl=3, 
+AliAnalysisTaskHFE* ConfigHFEmbpPb(Bool_t useMC, Bool_t isAOD, UChar_t TPCcl=70, UChar_t TPCclPID = 80, UChar_t ITScl=3, 
                                    Double_t DCAxy=1000., Double_t DCAz=1000.,
                                    Double_t TPCs=0., Double_t TPCu=3.09, Double_t TOFs=3., Int_t TOFmis=0,
                                    Double_t IpSig=3., Bool_t prodcut = kFALSE, 
@@ -37,6 +37,7 @@ AliAnalysisTaskHFE* ConfigHFEmbpPb(Bool_t useMC, UChar_t TPCcl=70, UChar_t TPCcl
   hfecuts->SetTPCmodes(AliHFEextraCuts::kFound, AliHFEextraCuts::kFoundOverFindable);
   hfecuts->SetCutITSpixel(itshitpixel);
   hfecuts->SetCheckITSLayerStatus(kFALSE);
+  if(isAOD) hfecuts->SetAODFilterBit(4);
   Bool_t ipCharge = kFALSE;
   if(IpSig<0)ipCharge = kTRUE;
 
@@ -123,7 +124,7 @@ AliAnalysisTaskHFE* ConfigHFEmbpPb(Bool_t useMC, UChar_t TPCcl=70, UChar_t TPCcl
 
   //task->SetApplypAVertexCut();
   
-  task->SetRemoveFirstEventInChunk();
+  if(!isAOD) task->SetRemoveFirstEventInChunk(); // Remove first event in chunk in case of ESD analysis
   //task->SetRemovePileUp(kTRUE);
   task->GetPIDQAManager()->SetHighResolutionHistos();
 
index 0eee579638c8154e402ff3eea226883156ec19da..01d26da02db0c8cff016f6e8c3b68f43ca142552 100644 (file)
@@ -1,4 +1,4 @@
-AliAnalysisTaskHFE* ConfigHFEpPb(Bool_t useMC, TString appendix, \r
+AliAnalysisTaskHFE* ConfigHFEpPb(Bool_t useMC, Bool_t isAOD, TString appendix, \r
                                 UChar_t TPCcl=70, UChar_t TPCclPID = 80, \r
                                 UChar_t ITScl=3, Double_t DCAxy=1000., Double_t DCAz=1000.,\r
                                 Double_t* tpcdEdxcutlow=NULL,Double_t* tpcdEdxcuthigh=NULL,\r
@@ -22,6 +22,7 @@ AliAnalysisTaskHFE* ConfigHFEpPb(Bool_t useMC, TString appendix,
   hfecuts->SetTPCmodes(AliHFEextraCuts::kFound, AliHFEextraCuts::kFoundOverFindable);\r
   hfecuts->SetCutITSpixel(itshitpixel);\r
   hfecuts->SetCheckITSLayerStatus(kFALSE);\r
+  if(isAOD) hfecuts->SetAODFilterBit(4);\r
   \r
   //if((iPixelAny==AliHFEextraCuts::kAny) || (iPixelAny==AliHFEextraCuts::kSecond))     \r
   //hfecuts->SetProductionVertex(0,7,0,7);\r
@@ -54,7 +55,7 @@ AliAnalysisTaskHFE* ConfigHFEpPb(Bool_t useMC, TString appendix,
   AliAnalysisTaskHFE *task = new AliAnalysisTaskHFE(appendix);\r
   printf("task %p\n", task);\r
   task->SetpPbAnalysis();\r
-  task->SetRemoveFirstEventInChunk();\r
+  if(!isAOD) task->SetRemoveFirstEventInChunk();\r
   task->SetRemovePileUp(kFALSE);\r
   task->SetHFECuts(hfecuts);\r
   task->GetPIDQAManager()->SetHighResolutionHistos();\r
index a296f2d5c31b3f2c9f3dfb4cb46e73250b3a7897..fcfce6de715a395be757474b2c542362dfdfec53 100644 (file)
@@ -2,7 +2,7 @@
 //please check settings for output files
 //for local test use 'test' mode
 
-AliAnalysisGrid* CreateAlienHandlerpPb()
+AliAnalysisGrid* CreateAlienHandlerpPb(bool isAOD = kFALSE)
 {
 // Check if user has a valid token, otherwise make one. This has limitations.
 // One can always follow the standard procedure of calling alien-token-init then
@@ -25,9 +25,12 @@ AliAnalysisGrid* CreateAlienHandlerpPb()
 // Method 1: Create automatically XML collections using alien 'find' command.
 // Define production directory LFN
 // On real reconstructed data:
- plugin->SetGridDataDir("/alice/data/2013/LHC13b");
  plugin->SetGridDataDir("/alice/data/2013/LHC13b");
 // Set data search pattern
-plugin->SetDataPattern("*/pass2/*/AliESDs.root");
+   if(isAOD)
+      plugin->SetDataPattern("*/pass2/AOD/*/AliAOD.root");
+   else
+      plugin->SetDataPattern("*/pass2/*/AliESDs.root");
 
 //same for pp MC:
 //   plugin->SetGridDataDir("/alice/sim/LHC10f6a");
@@ -70,7 +73,7 @@ plugin->AddRunNumber(195351);
 //   plugin->SetOutputFiles("Output.root");
    //plugin->SetDefaultOutputs(); 
    plugin->SetDefaultOutputs(kFALSE);
-     plugin->SetOutputFiles("HFEpPb.root"); 
+   plugin->SetOutputFiles("AnalysisResults.root"); 
      //plugin->SetOutputFiles("cbaumann_LMEEpp2010_out.root"); 
 //   plugin->SetOutputFiles("cbaumann_lowmass_out.root cbaumann_lowmass_CF.root");
 // Optionally define the files to be archived.
index 9bc07be12029d27b6d1442e5e344311d6088f658..670566d35ce20c3ac4c0030847eb6a32f4059ec2 100644 (file)
@@ -2,7 +2,7 @@
 \r
 Bool_t SetupPar(const char *parfile);\r
 \r
-void runGridpPb()\r
+void runGridpPb(bool isAOD = kFALSE)\r
 {\r
    // Load common libraries\r
    gSystem->Load("libCore.so");  \r
@@ -50,7 +50,7 @@ void runGridpPb()
 \r
    // Create and configure the alien handler plugin\r
    gROOT->LoadMacro("CreateAlienHandlerpPb.C");\r
-   AliAnalysisGrid *alienHandler = CreateAlienHandlerpPb();  \r
+   AliAnalysisGrid *alienHandler = CreateAlienHandlerpPb(isAOD);  \r
    if (!alienHandler) return;\r
 \r
    // Create the analysis manager\r
@@ -59,16 +59,19 @@ void runGridpPb()
    // Connect plug-in to the analysis manager\r
    mgr->SetGridHandler(alienHandler);\r
 \r
-   AliESDInputHandler* esdH = new AliESDInputHandler();\r
-   esdH->SetReadFriends(kFALSE);\r
-   mgr->SetInputEventHandler(esdH);\r
-\r
+   TString macroname = "$ALICE_ROOT/ANALYSIS/macros/train/";\r
+   if(isAOD)\r
+       macroname += "AddAODHandler.C";\r
+   else\r
+       macroname += "AddESDHandler.C";\r
+   gROOT->Macro(macroname.Data());\r
 \r
 \r
    //==== Physics Selection ====\r
-    gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPhysicsSelection.C");\r
-    AliPhysicsSelectionTask* physSelTask = AddTaskPhysicsSelection();\r
-\r
+   if(!isAOD){\r
+        gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPhysicsSelection.C");\r
+        AliPhysicsSelectionTask* physSelTask = AddTaskPhysicsSelection();\r
+   }\r
    //==== Add tender ====\r
 \r
 //   gROOT->LoadMacro("AddTaskTender.C");\r
@@ -85,14 +88,15 @@ void runGridpPb()
 \r
    //===== ADD TASK::\r
    gROOT->LoadMacro("$ALICE_ROOT/PWGHF/hfe/macros/AddTaskHFEpPb.C");\r
-   AddTaskHFEpPb();\r
-   gROOT->LoadMacro("$ALICE_ROOT/PWGHF/hfe/macros/AddTaskHFEnpepPb.C");\r
-   AddTaskHFEnpepPb();\r
-\r
+   AddTaskHFEpPb(isAOD);\r
+   if(!isAOD){\r
+      gROOT->LoadMacro("$ALICE_ROOT/PWGHF/hfe/macros/AddTaskHFEnpepPb.C");\r
+      AddTaskHFEnpepPb();\r
+   }\r
 \r
 \r
    // Enable debug printouts\r
-   mgr->SetDebugLevel(10);\r
+   //mgr->SetDebugLevel(10);\r
 \r
    if (!mgr->InitAnalysis())\r
          return;\r