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 ===============================
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];
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();
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){
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);
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);