]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGGA/GammaConv/macros/AddTask_GammaConvV1_pp.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGGA / GammaConv / macros / AddTask_GammaConvV1_pp.C
index 983dd4cff759d861ab24b76d0ba7994b7d6cbb72..aabd946dcddf4f268352255dce66af4ae8977438 100644 (file)
@@ -1,32 +1,33 @@
 void AddTask_GammaConvV1_pp(  Int_t trainConfig = 1,                                                                           // change different set of cuts
-                              Bool_t isMC   = kFALSE,                                                                          // run MC 
-                              Int_t enableQAMesonTask = 0,                                                                     // enable meson QA in AliAnalysisTaskGammaConvV1
-                              Int_t enableQAPhotonTask = 0,                                                            // enable photon QA in AliAnalysisTaskGammaConvV1
-                              TString fileNameInputForWeighting = "MCSpectraInput.root",       // path to file for weigting input
-                              TString cutnumberAODBranch = "0000000060084001001500000",        // cutnumber for AOD branch
-                                                         TString periodname = "LHC12f1x"                                                               // period name
-                           ) {
+                                                         Bool_t isMC   = kFALSE,                                                                               // run MC 
+                                                         Int_t enableQAMesonTask = 0,                                                                  // enable meson QA in AliAnalysisTaskGammaConvV1
+                                                         Int_t enableQAPhotonTask = 0,                                                                 // enable photon QA in AliAnalysisTaskGammaConvV1
+                                                         TString fileNameInputForWeighting = "MCSpectraInput.root",    // path to file for weigting input
+                                                         TString cutnumberAODBranch = "0000000060084001001500000",     // cutnumber for AOD branch
+                                                         TString periodname = "LHC12f1x",                                                              // period name
+                                                         Bool_t doWeighting = kFALSE                                                                   // enables weighting
+                                                       ) {
 
        // ================= Load Librariers =================================
-       gSystem->Load("libCore.so");  
-       gSystem->Load("libTree.so");
-       gSystem->Load("libGeom.so");
-       gSystem->Load("libVMC.so");
-       gSystem->Load("libPhysics.so");
+       gSystem->Load("libCore");
+       gSystem->Load("libTree");
+       gSystem->Load("libGeom");
+       gSystem->Load("libVMC");
+       gSystem->Load("libPhysics");
        gSystem->Load("libMinuit");
        gSystem->Load("libSTEERBase");
        gSystem->Load("libESD");
        gSystem->Load("libAOD");
        gSystem->Load("libANALYSIS");
        gSystem->Load("libANALYSISalice");  
-       gSystem->Load("libCDB.so");
-       gSystem->Load("libSTEER.so");
-       gSystem->Load("libSTEERBase.so");
-       gSystem->Load("libTender.so");
-       gSystem->Load("libTenderSupplies.so");
-       gSystem->Load("libPWGflowBase.so");
-       gSystem->Load("libPWGflowTasks.so");
-       gSystem->Load("libPWGGAGammaConv.so");
+       gSystem->Load("libCDB");
+       gSystem->Load("libSTEER");
+       gSystem->Load("libSTEERBase");
+       gSystem->Load("libTender");
+       gSystem->Load("libTenderSupplies");
+       gSystem->Load("libPWGflowBase");
+       gSystem->Load("libPWGflowTasks");
+       gSystem->Load("libPWGGAGammaConv");
 
        Int_t isHeavyIon = 0;   
        // ================== GetAnalysisManager ===============================
@@ -107,7 +108,8 @@ void AddTask_GammaConvV1_pp(  Int_t trainConfig = 1,                                                                                // change differ
        task->SetIsMC(isMC);
        // Cut Numbers to use in Analysis
        Int_t numberOfCuts = 4;
-
+       if ( trainConfig == 60) numberOfCuts = 2;
+       
        TString *eventCutArray = new TString[numberOfCuts];
        TString *photonCutArray = new TString[numberOfCuts];
        TString *mesonCutArray = new TString[numberOfCuts];
@@ -407,9 +409,12 @@ void AddTask_GammaConvV1_pp(  Int_t trainConfig = 1,                                                                               // change differ
                eventCutArray[ 1] = "0000011"; photonCutArray[ 1] = "002000092173028250400000"; mesonCutArray[1] = "01521065000000"; //pion 0-sigma cut for 0.4GeV<p<3.5GeV above -10-sigma
                eventCutArray[ 2] = "0000011"; photonCutArray[ 2] = "002000092273028250400000"; mesonCutArray[2] = "01521065000000"; //pion 1-sigma cut for 0.4GeV<p<3.5GeV above -10-sigma
                eventCutArray[ 3] = "0000011"; photonCutArray[ 3] = "002000092873028250400000"; mesonCutArray[3] = "01521065000000"; //pion 2-sigma cut for 0.4GeV<p<3.5GeV above   1-sigma
+       } else if (trainConfig == 60) {
+               eventCutArray[ 0] = "0000011"; photonCutArray[ 0] = "002000092273028250400000"; mesonCutArray[0] = "01521035000000"; //New standard cut for eta analysis
+               eventCutArray[ 1] = "0000012"; photonCutArray[ 1] = "002000092273028250400000"; mesonCutArray[1] = "01521035000000"; //New standard cut for eta analysis
        } else {
-                       Error(Form("GammaConvV1_%i",trainConfig), "wrong trainConfig variable no cuts have been specified for the configuration");
-                       return;
+               Error(Form("GammaConvV1_%i",trainConfig), "wrong trainConfig variable no cuts have been specified for the configuration");
+               return;
        }
 
        TList *EventCutList = new TList();
@@ -417,7 +422,7 @@ void AddTask_GammaConvV1_pp(  Int_t trainConfig = 1,                                                                                // change differ
        TList *MesonCutList = new TList();
 
        TList *HeaderList = new TList();
-       if (periodname.CompareTo("LHC12i3") == 0){      
+       if (periodname.Contains("LHC12i3")){    
                TObjString *Header2 = new TObjString("BOX");
                HeaderList->Add(Header2);
        } else if (periodname.CompareTo("LHC14e2b")==0){
@@ -426,7 +431,35 @@ void AddTask_GammaConvV1_pp(  Int_t trainConfig = 1,                                                                               // change differ
                TObjString *Header3 = new TObjString("eta_2");
                HeaderList->Add(Header3);
        }       
-               
+       
+       TString energy = "";
+       TString mcName = "";
+       TString mcNameAdd = "";
+       if (periodname.Contains("WOSDD")){
+               mcNameAdd = "_WOSDD";
+       } else if (periodname.Contains("WSDD")){
+               mcNameAdd = "_WSDD";
+       }       
+       if (periodname.Contains("LHC12i3")){
+               energy = "2760GeV";
+               mcName = "Pythia8_LHC12i3";
+       } else if (periodname.Contains("LHC12f1a")){    
+               energy = "2760GeV";
+               mcName = "Pythia8_LHC12f1a";    
+       } else if (periodname.Contains("LHC12f1b")){    
+               energy = "2760GeV";
+               mcName = "Phojet_LHC12f1b";                     
+       } else if (periodname.Contains("LHC14e2a")){    
+               energy = "8TeV";
+               mcName = "Pythia8_LHC14e2a";                    
+       } else if (periodname.Contains("LHC14e2b")){    
+               energy = "8TeV";
+               mcName = "Pythia8_LHC14e2b";                            
+       } else if (periodname.Contains("LHC14e2c")){            
+               energy = "8TeV";
+               mcName = "Phojet_LHC14e2c";                                     
+       }       
+       
        EventCutList->SetOwner(kTRUE);
        AliConvEventCuts **analysisEventCuts = new AliConvEventCuts*[numberOfCuts];
        ConvCutList->SetOwner(kTRUE);
@@ -434,9 +467,23 @@ void AddTask_GammaConvV1_pp(  Int_t trainConfig = 1,                                                                               // change differ
        MesonCutList->SetOwner(kTRUE);
        AliConversionMesonCuts **analysisMesonCuts = new AliConversionMesonCuts*[numberOfCuts];
 
-
        for(Int_t i = 0; i<numberOfCuts; i++){
                analysisEventCuts[i] = new AliConvEventCuts();
+               TString fitNamePi0 = Form("Pi0_Fit_Data_%s",energy.Data());
+               TString fitNameEta = Form("Eta_Fit_Data_%s",energy.Data());
+               Bool_t fAddedSignal = eventCutArray[i].EndsWith("2");
+               TString mcInputNamePi0 = "";
+               TString mcInputNameEta = "";
+               if (fAddedSignal && (periodname.Contains("LHC12i3") || periodname.CompareTo("LHC14e2b")==0)){
+                       mcInputNamePi0 = Form("Pi0_%s%s_addSig_%s", mcName.Data(), mcNameAdd.Data(), energy.Data() );
+                       mcInputNameEta = Form("Eta_%s%s_addSig_%s", mcName.Data(), mcNameAdd.Data(), energy.Data() );
+               } else {
+                       mcInputNamePi0 = Form("Pi0_%s%s_%s", mcName.Data(), mcNameAdd.Data(), energy.Data() );
+                       mcInputNameEta = Form("Eta_%s%s_%s", mcName.Data(), mcNameAdd.Data(), energy.Data() );
+               }       
+               
+               if (doWeighting) analysisEventCuts[i]->SetUseReweightingWithHistogramFromFile(kTRUE, kTRUE, kFALSE, fileNameInputForWeighting, mcInputNamePi0, mcInputNameEta, "",fitNamePi0,fitNameEta);
+               
                analysisEventCuts[i]->InitializeCutsFromCutString(eventCutArray[i].Data());
                EventCutList->Add(analysisEventCuts[i]);
                analysisEventCuts[i]->SetFillCutHistograms("",kFALSE);