]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGGA/GammaConv/macros/AddTask_GammaConvCalo_pp.C
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / PWGGA / GammaConv / macros / AddTask_GammaConvCalo_pp.C
index 915b2bc6baef1403202cfa61f6818d7c82c18a4f..44eec1f4db06dba1d2572ffef20632a9cc5a9bb4 100644 (file)
@@ -3,7 +3,8 @@ void AddTask_GammaConvCalo_pp(  Int_t trainConfig = 1,  //change different set o
                                                                Int_t enableQAMesonTask = 1, //enable QA in AliAnalysisTaskGammaConvV1
                                                                Int_t enableQAPhotonTask = 1, // enable additional QA task
                                                                TString fileNameInputForWeighting = "MCSpectraInput.root", // path to file for weigting input
-                                                               TString cutnumberAODBranch = "0000000060084001001500000" 
+                                TString cutnumberAODBranch = "0000000060084001001500000",
+                                Bool_t enableExtendedMatching = kFALSE //enable or disable extended matching histograms for conversion electrons <-> cluster
                                                        ) {
 
        // ================= Load Librariers =================================
@@ -25,6 +26,8 @@ void AddTask_GammaConvCalo_pp(  Int_t trainConfig = 1,  //change different set o
        gSystem->Load("libTENDER.so");
        gSystem->Load("libTENDERSupplies.so");
                
+       Int_t isHeavyIon = 0;
+       
        // ================== GetAnalysisManager ===============================
        AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
        if (!mgr) {
@@ -38,11 +41,15 @@ void AddTask_GammaConvCalo_pp(  Int_t trainConfig = 1,  //change different set o
        //========= Add PID Reponse to ANALYSIS manager ====
        if(!(AliPIDResponse*)mgr->GetTask("PIDResponseTask")){
                gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
-               AddTaskPIDResponse(isMC,1,0,4,0,"",1,1,4);
+               AddTaskPIDResponse(isMC);
        }
        
+       Printf("here \n");
+       
        //=========  Set Cutnumber for V0Reader ================================
-       TString cutnumber = "0000000002084000002200000000"; 
+       TString cutnumberPhoton = "060084001001500000000";
+       TString cutnumberEvent = "0000000";
+       Bool_t doEtaShift = kFALSE;
        AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
 
        //========= Add V0 Reader to  ANALYSIS manager if not yet existent =====
@@ -58,12 +65,24 @@ void AddTask_GammaConvCalo_pp(  Int_t trainConfig = 1,  //change different set o
                        return;
                }
 
+               AliConvEventCuts *fEventCuts=NULL;
+               if(cutnumberEvent!=""){
+                       fEventCuts= new AliConvEventCuts(cutnumberEvent.Data(),cutnumberEvent.Data());
+                       fEventCuts->SetPreSelectionCutFlag(kTRUE);
+                       if(fEventCuts->InitializeCutsFromCutString(cutnumberEvent.Data())){
+                               fEventCuts->DoEtaShift(doEtaShift);
+                               fV0ReaderV1->SetEventCuts(fEventCuts);
+                               fEventCuts->SetFillCutHistograms("",kTRUE);
+                       }
+               }
+
                // Set AnalysisCut Number
-               AliConversionCuts *fCuts=NULL;
-               if(cutnumber!=""){
-                       fCuts= new AliConversionCuts(cutnumber.Data(),cutnumber.Data());
+               AliConversionPhotonCuts *fCuts=NULL;
+               if(cutnumberPhoton!=""){
+                       fCuts= new AliConversionPhotonCuts(cutnumberPhoton.Data(),cutnumberPhoton.Data());
                        fCuts->SetPreSelectionCutFlag(kTRUE);
-                       if(fCuts->InitializeCutsFromCutString(cutnumber.Data())){
+                       fCuts->SetIsHeavyIon(isHeavyIon);
+                       if(fCuts->InitializeCutsFromCutString(cutnumberPhoton.Data())){
                                fV0ReaderV1->SetConversionCuts(fCuts);
                                fCuts->SetFillCutHistograms("",kTRUE);
                        }
@@ -87,59 +106,156 @@ void AddTask_GammaConvCalo_pp(  Int_t trainConfig = 1,  //change different set o
        //================================================
        AliAnalysisTaskGammaConvCalo *task=NULL;
        task= new AliAnalysisTaskGammaConvCalo(Form("GammaConvCalo_%i",trainConfig));
-       task->SetIsHeavyIon(0);
+       task->SetIsHeavyIon(isHeavyIon);
        task->SetIsMC(isMC);
        // Cut Numbers to use in Analysis
-       Int_t numberOfCuts = 3;
-
-       TString *cutarray = new TString[numberOfCuts];
-       TString *clustercutarray = new TString[numberOfCuts];
+       Int_t numberOfCuts = 4;
+       
+       TString *eventCutArray = new TString[numberOfCuts];
+       TString *photonCutArray = new TString[numberOfCuts];
+       TString *clusterCutArray = new TString[numberOfCuts];
        TString *mesonCutArray = new TString[numberOfCuts];
 
-       // meson cuts
-       // meson type (Dalitz or not), BG scheme, pool depth, rotation degrees, rapidity cut, radius cut, alpha, chi2, shared electrons, reject to close v0, MC smearing, dca, dca, dca
+       // cluster cuts
+       // 0 "ClusterType",  1 "EtaMin", 2 "EtaMax", 3 "PhiMin", 4 "PhiMax", 5 "DistanceToBadChannel", 6 "Timing", 7 "TrackMatching", 8 "ExoticCell",
+       // 9 "MinEnergy", 10 "MinNCells", 11 "MinM02", 12 "MaxM02", 13 "MinM20", 14 "MaxM20", 15 "MaximumDispersion", 16 "NLM"
        
-       if (trainConfig == 1){ 
-               cutarray[ 0] = "0000001002092970028250400000"; clustercutarray[0] = "10000040022030000"; mesonCutArray[0] = "01525065000000"; //standard cut LHC11h pp 2.76TeV, kMB
-               cutarray[ 1] = "0005101002092970028250400000"; clustercutarray[1] = "10000040022030000"; mesonCutArray[1] = "01525065000000"; //standard cut LHC11h pp 2.76TeV, kEMC1
-               cutarray[ 2] = "0002001002092970028250400000"; clustercutarray[2] = "10000040022030000"; mesonCutArray[2] = "01525065000000"; //standard cut LHC11h pp 2.76TeV, SDD V0OR
+       if (trainConfig == 1){ // EMCAL clusters 2.76 TeV LHC11a, with SDD (0,1), kEMC1 (2,3)
+               eventCutArray[ 0] = "0000311"; photonCutArray[ 0] = "002093663003800000000"; clusterCutArray[0] = "10000040022030000"; mesonCutArray[0] = "01631031009000"; // 100 MeV cluster min energy
+               eventCutArray[ 1] = "0000311"; photonCutArray[ 1] = "002093663003800000000"; clusterCutArray[1] = "10000040052030000"; mesonCutArray[1] = "01631031009000"; // 300 MeV cluster min energy
+               eventCutArray[ 2] = "0005111"; photonCutArray[ 2] = "002093663003800000000"; clusterCutArray[2] = "10000040022030000"; mesonCutArray[2] = "01631031009000"; // 100 MeV cluster min energy
+               eventCutArray[ 3] = "0005111"; photonCutArray[ 3] = "002093663003800000000"; clusterCutArray[3] = "10000040052030000"; mesonCutArray[3] = "01631031009000"; // 300 MeV cluster min energy
+       } else if (trainConfig == 2){  // EMCAL clusters, EMCEGA triggers
+               eventCutArray[ 0] = "0008311"; photonCutArray[ 0] = "002093663003800000000"; clusterCutArray[0] = "10000040022030000"; mesonCutArray[0] = "01631031009000"; // EMCEG1, 100 MeV cluster min energy
+               eventCutArray[ 1] = "0008311"; photonCutArray[ 1] = "002093663003800000000"; clusterCutArray[1] = "10000040052030000"; mesonCutArray[1] = "01631031009000"; // EMCEG1, 300 MeV cluster min energy
+               eventCutArray[ 2] = "0008511"; photonCutArray[ 2] = "002093663003800000000"; clusterCutArray[2] = "10000040022030000"; mesonCutArray[2] = "01631031009000"; // EMCEG2, 100 MeV cluster min energy
+               eventCutArray[ 3] = "0008511"; photonCutArray[ 3] = "002093663003800000000"; clusterCutArray[3] = "10000040052030000"; mesonCutArray[3] = "01631031009000"; // EMCEG2, 300 MeV cluster min energy
+       } else if (trainConfig == 3){  // EMCAL clusters, EMCEJE triggers
+               eventCutArray[ 0] = "0009311"; photonCutArray[ 0] = "002093663003800000000"; clusterCutArray[0] = "10000040022030000"; mesonCutArray[0] = "01631031009000"; // EMCEJ1, 100 MeV cluster min energy
+               eventCutArray[ 1] = "0009311"; photonCutArray[ 1] = "002093663003800000000"; clusterCutArray[1] = "10000040052030000"; mesonCutArray[1] = "01631031009000"; // EMCEJ1, 300 MeV cluster min energy
+               eventCutArray[ 2] = "0009511"; photonCutArray[ 2] = "002093663003800000000"; clusterCutArray[2] = "10000040022030000"; mesonCutArray[2] = "01631031009000"; // EMCEJ2, 100 MeV cluster min energy
+               eventCutArray[ 3] = "0009511"; photonCutArray[ 3] = "002093663003800000000"; clusterCutArray[3] = "10000040052030000"; mesonCutArray[3] = "01631031009000"; // EMCEJ2, 300 MeV cluster min energy
+       } else if (trainConfig == 4){ // EMCAL clusters 2.76 TeV LHC11a, with SDD (0,1), kEMC1 (2,3), track matching 0.035
+               eventCutArray[ 0] = "0000311"; photonCutArray[ 0] = "002093663003800000000"; clusterCutArray[0] = "10000042022030000"; mesonCutArray[0] = "01631031009000"; // 100 MeV cluster min energy
+               eventCutArray[ 1] = "0000311"; photonCutArray[ 1] = "002093663003800000000"; clusterCutArray[1] = "10000042052030000"; mesonCutArray[1] = "01631031009000"; // 300 MeV cluster min energy
+               eventCutArray[ 2] = "0005111"; photonCutArray[ 2] = "002093663003800000000"; clusterCutArray[2] = "10000042022030000"; mesonCutArray[2] = "01631031009000"; // 100 MeV cluster min energy
+               eventCutArray[ 3] = "0005111"; photonCutArray[ 3] = "002093663003800000000"; clusterCutArray[3] = "10000042052030000"; mesonCutArray[3] = "01631031009000"; // 300 MeV cluster min energy
+       } else if (trainConfig == 5){  // EMCAL clusters, EMCEGA triggers, track matching 0.035
+               eventCutArray[ 0] = "0008311"; photonCutArray[ 0] = "002093663003800000000"; clusterCutArray[0] = "10000042022030000"; mesonCutArray[0] = "01631031009000"; // EMCEG1, 100 MeV cluster min energy
+               eventCutArray[ 1] = "0008311"; photonCutArray[ 1] = "002093663003800000000"; clusterCutArray[1] = "10000042052030000"; mesonCutArray[1] = "01631031009000"; // EMCEG1, 300 MeV cluster min energy
+               eventCutArray[ 2] = "0008511"; photonCutArray[ 2] = "002093663003800000000"; clusterCutArray[2] = "10000042022030000"; mesonCutArray[2] = "01631031009000"; // EMCEG2, 100 MeV cluster min energy
+               eventCutArray[ 3] = "0008511"; photonCutArray[ 3] = "002093663003800000000"; clusterCutArray[3] = "10000042052030000"; mesonCutArray[3] = "01631031009000"; // EMCEG2, 300 MeV cluster min energy
+       } else if (trainConfig == 6){  // EMCAL clusters, EMCEJE triggers, track matching 0.035
+               eventCutArray[ 0] = "0009311"; photonCutArray[ 0] = "002093663003800000000"; clusterCutArray[0] = "10000042022030000"; mesonCutArray[0] = "01631031009000"; // EMCEJ1, 100 MeV cluster min energy
+               eventCutArray[ 1] = "0009311"; photonCutArray[ 1] = "002093663003800000000"; clusterCutArray[1] = "10000042052030000"; mesonCutArray[1] = "01631031009000"; // EMCEJ1, 300 MeV cluster min energy
+               eventCutArray[ 2] = "0009511"; photonCutArray[ 2] = "002093663003800000000"; clusterCutArray[2] = "10000042022030000"; mesonCutArray[2] = "01631031009000"; // EMCEJ2, 100 MeV cluster min energy
+               eventCutArray[ 3] = "0009511"; photonCutArray[ 3] = "002093663003800000000"; clusterCutArray[3] = "10000042052030000"; mesonCutArray[3] = "01631031009000"; // EMCEJ2, 300 MeV cluster min energy
+       } else if (trainConfig == 7){ // EMCAL clusters 2.76 TeV LHC11a, with SDD (0,1), kEMC1 (2,3), track matching 0.04
+               eventCutArray[ 0] = "0000311"; photonCutArray[ 0] = "002093663003800000000"; clusterCutArray[0] = "10000043022030000"; mesonCutArray[0] = "01631031009000"; // 100 MeV cluster min energy
+               eventCutArray[ 1] = "0000311"; photonCutArray[ 1] = "002093663003800000000"; clusterCutArray[1] = "10000043052030000"; mesonCutArray[1] = "01631031009000"; // 300 MeV cluster min energy
+               eventCutArray[ 2] = "0005111"; photonCutArray[ 2] = "002093663003800000000"; clusterCutArray[2] = "10000043022030000"; mesonCutArray[2] = "01631031009000"; // 100 MeV cluster min energy
+               eventCutArray[ 3] = "0005111"; photonCutArray[ 3] = "002093663003800000000"; clusterCutArray[3] = "10000043052030000"; mesonCutArray[3] = "01631031009000"; // 300 MeV cluster min energy
+       } else if (trainConfig == 8){  // EMCAL clusters, EMCEGA triggers, track matching 0.04
+               eventCutArray[ 0] = "0008311"; photonCutArray[ 0] = "002093663003800000000"; clusterCutArray[0] = "10000043022030000"; mesonCutArray[0] = "01631031009000"; // EMCEG1, 100 MeV cluster min energy
+               eventCutArray[ 1] = "0008311"; photonCutArray[ 1] = "002093663003800000000"; clusterCutArray[1] = "10000043052030000"; mesonCutArray[1] = "01631031009000"; // EMCEG1, 300 MeV cluster min energy
+               eventCutArray[ 2] = "0008511"; photonCutArray[ 2] = "002093663003800000000"; clusterCutArray[2] = "10000043022030000"; mesonCutArray[2] = "01631031009000"; // EMCEG2, 100 MeV cluster min energy
+               eventCutArray[ 3] = "0008511"; photonCutArray[ 3] = "002093663003800000000"; clusterCutArray[3] = "10000043052030000"; mesonCutArray[3] = "01631031009000"; // EMCEG2, 300 MeV cluster min energy
+       } else if (trainConfig == 9){  // EMCAL clusters, EMCEJE triggers, track matching 0.04
+               eventCutArray[ 0] = "0009311"; photonCutArray[ 0] = "002093663003800000000"; clusterCutArray[0] = "10000043022030000"; mesonCutArray[0] = "01631031009000"; // EMCEJ1, 100 MeV cluster min energy
+               eventCutArray[ 1] = "0009311"; photonCutArray[ 1] = "002093663003800000000"; clusterCutArray[1] = "10000043052030000"; mesonCutArray[1] = "01631031009000"; // EMCEJ1, 300 MeV cluster min energy
+               eventCutArray[ 2] = "0009511"; photonCutArray[ 2] = "002093663003800000000"; clusterCutArray[2] = "10000043022030000"; mesonCutArray[2] = "01631031009000"; // EMCEJ2, 100 MeV cluster min energy
+               eventCutArray[ 3] = "0009511"; photonCutArray[ 3] = "002093663003800000000"; clusterCutArray[3] = "10000043052030000"; mesonCutArray[3] = "01631031009000"; // EMCEJ2, 300 MeV cluster min energy
+       } else if (trainConfig == 10){  // EMCAL clusters 2.76 TeV LHC11g, INT7 (0,1), kEMC7 (2,3)
+               eventCutArray[ 0] = "0000011"; photonCutArray[ 0] = "002093663003800000000"; clusterCutArray[0] = "10000040022030000"; mesonCutArray[0] = "01631031009000"; // 100 MeV cluster min energy
+               eventCutArray[ 1] = "0000011"; photonCutArray[ 1] = "002093663003800000000"; clusterCutArray[1] = "10000040052030000"; mesonCutArray[1] = "01631031009000"; // 300 MeV cluster min energy
+               eventCutArray[ 2] = "0005211"; photonCutArray[ 2] = "002093663003800000000"; clusterCutArray[2] = "10000040022030000"; mesonCutArray[2] = "01631031009000"; // 100 MeV cluster min energy
+               eventCutArray[ 3] = "0005211"; photonCutArray[ 3] = "002093663003800000000"; clusterCutArray[3] = "10000040052030000"; mesonCutArray[3] = "01631031009000"; // 300 MeV cluster min energy
+       } else if (trainConfig == 11){ // EMCAL clusters 2.76 TeV LHC11g, INT7 (0,1), kEMC7 (2,3), track matching 0.035
+               eventCutArray[ 0] = "0000011"; photonCutArray[ 0] = "002093663003800000000"; clusterCutArray[0] = "10000042022030000"; mesonCutArray[0] = "01631031009000"; // 100 MeV cluster min energy
+               eventCutArray[ 1] = "0000011"; photonCutArray[ 1] = "002093663003800000000"; clusterCutArray[1] = "10000042052030000"; mesonCutArray[1] = "01631031009000"; // 300 MeV cluster min energy
+               eventCutArray[ 2] = "0005211"; photonCutArray[ 2] = "002093663003800000000"; clusterCutArray[2] = "10000042022030000"; mesonCutArray[2] = "01631031009000"; // 100 MeV cluster min energy
+               eventCutArray[ 3] = "0005211"; photonCutArray[ 3] = "002093663003800000000"; clusterCutArray[3] = "10000042052030000"; mesonCutArray[3] = "01631031009000"; // 300 MeV cluster min energy
+       } else if (trainConfig == 12){ // EMCAL clusters 2.76 TeV LHC11g, INT7 (0,1), kEMC7 (2,3), track matching 0.04
+               eventCutArray[ 0] = "0000011"; photonCutArray[ 0] = "002093663003800000000"; clusterCutArray[0] = "10000043022030000"; mesonCutArray[0] = "01631031009000"; // 100 MeV cluster min energy
+               eventCutArray[ 1] = "0000011"; photonCutArray[ 1] = "002093663003800000000"; clusterCutArray[1] = "10000043052030000"; mesonCutArray[1] = "01631031009000"; // 300 MeV cluster min energy
+               eventCutArray[ 2] = "0005211"; photonCutArray[ 2] = "002093663003800000000"; clusterCutArray[2] = "10000043022030000"; mesonCutArray[2] = "01631031009000"; // 100 MeV cluster min energy
+               eventCutArray[ 3] = "0005211"; photonCutArray[ 3] = "002093663003800000000"; clusterCutArray[3] = "10000043052030000"; mesonCutArray[3] = "01631031009000"; // 300 MeV cluster min energy
+       } else if (trainConfig == 31) { //PHOS clusters
+               eventCutArray[ 0] = "0000311"; photonCutArray[ 0] = "002093663003800000000"; clusterCutArray[0] = "20000030022000000"; mesonCutArray[0] = "01631031009000"; //pp LHC11a with SDD, PHOS
+               eventCutArray[ 1] = "0000011"; photonCutArray[ 1] = "002093663003800000000"; clusterCutArray[1] = "20000030022000000"; mesonCutArray[1] = "01631031009000"; //pp LHC13g default MB
+               eventCutArray[ 2] = "0006111"; photonCutArray[ 2] = "002093663003800000000"; clusterCutArray[2] = "20000030022000000"; mesonCutArray[2] = "01631031009000"; //pp LHC11a PHI1
+               eventCutArray[ 3] = "0006211"; photonCutArray[ 3] = "002093663003800000000"; clusterCutArray[3] = "20000030022000000"; mesonCutArray[3] = "01631031009000"; //pp LHC11a PHI7
+       } else if (trainConfig == 32) { //PHOS clusters, track matching 0.035
+               eventCutArray[ 0] = "0000311"; photonCutArray[ 0] = "002093663003800000000"; clusterCutArray[0] = "20000032022000000"; mesonCutArray[0] = "01631031009000"; //pp LHC11a with SDD, PHOS
+               eventCutArray[ 1] = "0000011"; photonCutArray[ 1] = "002093663003800000000"; clusterCutArray[1] = "20000032022000000"; mesonCutArray[1] = "01631031009000"; //pp LHC13g default MB
+               eventCutArray[ 2] = "0006111"; photonCutArray[ 2] = "002093663003800000000"; clusterCutArray[2] = "20000032022000000"; mesonCutArray[2] = "01631031009000"; //pp LHC11a PHI1
+               eventCutArray[ 3] = "0006211"; photonCutArray[ 3] = "002093663003800000000"; clusterCutArray[3] = "20000032022000000"; mesonCutArray[3] = "01631031009000"; //pp LHC11a PHI7
+       } else if (trainConfig == 32) { //PHOS clusters, track matching 0.04
+               eventCutArray[ 0] = "0000311"; photonCutArray[ 0] = "002093663003800000000"; clusterCutArray[0] = "20000033022000000"; mesonCutArray[0] = "01631031009000"; //pp LHC11a with SDD, PHOS
+               eventCutArray[ 1] = "0000011"; photonCutArray[ 1] = "002093663003800000000"; clusterCutArray[1] = "20000033022000000"; mesonCutArray[1] = "01631031009000"; //pp LHC13g default MB
+               eventCutArray[ 2] = "0006111"; photonCutArray[ 2] = "002093663003800000000"; clusterCutArray[2] = "20000033022000000"; mesonCutArray[2] = "01631031009000"; //pp LHC11a PHI1
+               eventCutArray[ 3] = "0006211"; photonCutArray[ 3] = "002093663003800000000"; clusterCutArray[3] = "20000033022000000"; mesonCutArray[3] = "01631031009000"; //pp LHC11a PHI7
        } else {
                Error(Form("GammaConvCalo_%i",trainConfig), "wrong trainConfig variable no cuts have been specified for the configuration");
                return;
        }
 
+       TList *EventCutList = new TList();
        TList *ConvCutList = new TList();
+       TList *ClusterCutList = new TList();
        TList *MesonCutList = new TList();
 
-       TList *HeaderList = new TList();
-       TObjString *Header1 = new TObjString("BOX");
-       HeaderList->Add(Header1);
+//     TList *HeaderList = new TList();
+//     if (doWeightingPart==1) {
+//             TObjString *Header1 = new TObjString("pi0_1");
+//             HeaderList->Add(Header1);
+//     }
+//     if (doWeightingPart==2){
+//             TObjString *Header3 = new TObjString("eta_2");
+//             HeaderList->Add(Header3);
+//     }
+//     if (doWeightingPart==3) {
+//             TObjString *Header1 = new TObjString("pi0_1");
+//             HeaderList->Add(Header1);
+//             TObjString *Header3 = new TObjString("eta_2");
+//             HeaderList->Add(Header3);
+//     }
 
+       EventCutList->SetOwner(kTRUE);
+       AliConvEventCuts **analysisEventCuts = new AliConvEventCuts*[numberOfCuts];
        ConvCutList->SetOwner(kTRUE);
-       AliConversionCuts **analysisCuts = new AliConversionCuts*[numberOfCuts];
+       AliConversionPhotonCuts **analysisCuts = new AliConversionPhotonCuts*[numberOfCuts];
        ClusterCutList->SetOwner(kTRUE);
        AliCaloPhotonCuts **analysisClusterCuts = new AliCaloPhotonCuts*[numberOfCuts];
        MesonCutList->SetOwner(kTRUE);
        AliConversionMesonCuts **analysisMesonCuts = new AliConversionMesonCuts*[numberOfCuts];
 
        for(Int_t i = 0; i<numberOfCuts; i++){
-               analysisCuts[i] = new AliConversionCuts();
-               analysisCuts[i]->InitializeCutsFromCutString(cutarray[i].Data());
+               analysisEventCuts[i] = new AliConvEventCuts();   
+               analysisEventCuts[i]->InitializeCutsFromCutString(eventCutArray[i].Data());
+               EventCutList->Add(analysisEventCuts[i]);
+               analysisEventCuts[i]->SetFillCutHistograms("",kFALSE);
+               
+               analysisCuts[i] = new AliConversionPhotonCuts();
+               analysisCuts[i]->InitializeCutsFromCutString(photonCutArray[i].Data());
+               analysisCuts[i]->SetIsHeavyIon(isHeavyIon);
                ConvCutList->Add(analysisCuts[i]);
                analysisCuts[i]->SetFillCutHistograms("",kFALSE);
-               
+       
                analysisClusterCuts[i] = new AliCaloPhotonCuts();
-               analysisClusterCuts[i]->InitializeCutsFromCutString(clustercutarray[i].Data());
+               analysisClusterCuts[i]->InitializeCutsFromCutString(clusterCutArray[i].Data());
                ClusterCutList->Add(analysisClusterCuts[i]);
+        analysisClusterCuts[i]->SetExtendedMatching(enableExtendedMatching);
                analysisClusterCuts[i]->SetFillCutHistograms("");
-
+               
                analysisMesonCuts[i] = new AliConversionMesonCuts();
                analysisMesonCuts[i]->InitializeCutsFromCutString(mesonCutArray[i].Data());
                MesonCutList->Add(analysisMesonCuts[i]);
                analysisMesonCuts[i]->SetFillCutHistograms("");
-               analysisCuts[i]->SetAcceptedHeader(HeaderList);
+//             analysisEventCuts[i]->SetAcceptedHeader(HeaderList);
        }
 
+       task->SetEventCutList(numberOfCuts,EventCutList);
        task->SetConversionCutList(numberOfCuts,ConvCutList);
        task->SetCaloCutList(numberOfCuts,ClusterCutList);
        task->SetMesonCutList(numberOfCuts,MesonCutList);
@@ -147,6 +263,7 @@ void AddTask_GammaConvCalo_pp(  Int_t trainConfig = 1,  //change different set o
        task->SetDoMesonAnalysis(kTRUE);
        task->SetDoMesonQA(enableQAMesonTask); //Attention new switch for Pi0 QA
        task->SetDoPhotonQA(enableQAPhotonTask);  //Attention new switch small for Photon QA
+       task->SetDoClusterQA(1);  //Attention new switch small for Cluster QA
 
        //connect containers
        AliAnalysisDataContainer *coutput =