ROOT logo
/////////////////////////////////////////////////////////////////////////////////////////////
//
// AddTaskGammaConvFlow_PbPb2 macro
// Author: Andrea Dubla, Redmer A. Bertens, Friederike Bock
//         Commented where necessary
/////////////////////////////////////////////////////////////////////////////////////////////

class AliAnalysisDataContainer;
class AliFlowTrackCuts;
class AliFlowTrackSimpleCuts;
class AliFlowEventCuts;
class AliFlowEventSimpleCuts;

void AddTask_GammaConvFlow_PbPb2(
                               TString uniqueID = "",
                               Int_t harmonic=2,
                               Int_t trainConfig = 1,  //change different set of cuts
                               //Bool_t isMC   = kFALSE, //run MC
                               Int_t enableQAMesonTask = 0, //enable QA in AddTask_GammaConvFlow_PbPb2
                               Int_t enableQAPhotonTask = 0, // enable additional QA task
                               //TString fileNameInputForWeighting = "MCSpectraInput.root", // path to file for weigting input
                               Bool_t doWeighting = kFALSE,  //enable Weighting
                               TString cutnumberAODBranch = "1000000060084000001500000",
                               Bool_t BasicHistoSP = kFALSE,
                               Bool_t debug = kFALSE
                               ) {
    
    // ================= Load Librariers =================================
    gSystem->Load("libCore.so");
    gSystem->Load("libTree.so");
    gSystem->Load("libGeom.so");
    gSystem->Load("libVMC.so");
    gSystem->Load("libPhysics.so");
    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");
    
    Int_t isHeavyIon = 1;
    
    // ================== GetAnalysisManager ===============================
    AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
    if (!mgr) {
        Error(Form("AddTask_GammaConvV1_%i",trainConfig), "No analysis manager found.");
        return ;
    }
    
    // ================== GetInputEventHandler =============================
    AliVEventHandler *inputHandler=mgr->GetInputEventHandler();
    
    //========= Add PID Reponse to ANALYSIS manager ====
    if(!(AliPIDResponse*)mgr->GetTask("PIDResponseTask")){
        gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
        AddTaskPIDResponse(isMC);
    }
    
    //=========  Set Cutnumber for V0Reader ================================
    TString cutnumberPhoton = "000000084001001500000000";
    TString cutnumberEvent = "1000000";
    AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
    //========= Add V0 Reader to  ANALYSIS manager if not yet existent =====
    if( !(AliV0ReaderV1*)mgr->GetTask("V0ReaderV1") ){
        AliV0ReaderV1 *fV0ReaderV1 = new AliV0ReaderV1("V0ReaderV1");
        
        fV0ReaderV1->SetUseOwnXYZCalculation(kTRUE);
        fV0ReaderV1->SetCreateAODs(kFALSE);// AOD Output
        fV0ReaderV1->SetUseAODConversionPhoton(kTRUE);
        
        if (!mgr) {
            Error("AddTask_V0ReaderV1", "No analysis manager found.");
            return;
        }
        
        AliConvEventCuts *fEventCuts=NULL;
        if(cutnumberEvent!=""){
            fEventCuts= new AliConvEventCuts(cutnumberEvent.Data(),cutnumberEvent.Data());
            fEventCuts->SetPreSelectionCutFlag(kTRUE);
            if(fEventCuts->InitializeCutsFromCutString(cutnumberEvent.Data())){
                fV0ReaderV1->SetEventCuts(fEventCuts);
                fEventCuts->SetFillCutHistograms("",kTRUE);
            }
        }
        
        // Set AnalysisCut Number
        AliConversionPhotonCuts *fCuts=NULL;
        if(cutnumberPhoton!=""){
            fCuts= new AliConversionPhotonCuts(cutnumberPhoton.Data(),cutnumberPhoton.Data());
            fCuts->SetPreSelectionCutFlag(kTRUE);
            fCuts->SetIsHeavyIon(isHeavyIon);
            if(fCuts->InitializeCutsFromCutString(cutnumberPhoton.Data())){
                fV0ReaderV1->SetConversionCuts(fCuts);
                fCuts->SetFillCutHistograms("",kTRUE);
            }
        }
        
        if(inputHandler->IsA()==AliAODInputHandler::Class()){
            // AOD mode
            fV0ReaderV1->SetDeltaAODBranchName(Form("GammaConv_%s_gamma",cutnumberAODBranch.Data()));
        }
        fV0ReaderV1->Init();
        
        AliLog::SetGlobalLogLevel(AliLog::kInfo);
        
        //connect input V0Reader
        mgr->AddTask(fV0ReaderV1);
        mgr->ConnectInput(fV0ReaderV1,0,cinput);        
    }
    
    //================================================
    //========= Add task to the ANALYSIS manager =====
    //================================================
    AliAnalysisTaskGammaConvFlow *task=NULL;
    task= new AliAnalysisTaskGammaConvFlow(Form("GammaConvV1_%i_v%d",trainConfig,harmonic));
    task->SetIsHeavyIon(isHeavyIon);
    //task->SetIsMC(isMC);
    
    cutsRP = new AliFlowTrackCuts(Form("RFPcuts%s",uniqueID));
    if(!cutsRP) {
        if(debug) cout << " Fatal error: no RP cuts found, could be a library problem! " << endl;
        return 0x0;
    }
    cutsRP = cutsRP->GetStandardVZEROOnlyTrackCuts(); // select vzero tracks
    cutsRP->SetVZEROgainEqualizationPerRing(kFALSE);
    cutsRP->SetApplyRecentering(kTRUE);
    
    task->SetRPCuts(cutsRP);
    
    AliFlowTrackSimpleCuts *POIfilterVZERO = new AliFlowTrackSimpleCuts();
    POIfilterVZERO->SetEtaMin(-0.8);
    POIfilterVZERO->SetEtaMax(0.8);
    POIfilterVZERO->SetMassMin(263731); POIfilterVZERO->SetMassMax(263733);
    
    if(debug) cout << " === RECEIVED REQUEST FOR FLOW ANALYSIS === " << endl;
    AliAnalysisDataContainer *flowEvent = mgr->CreateContainer(Form("FlowContainer_%s",uniqueID.Data()), AliFlowEventSimple::Class(), AliAnalysisManager::kExchangeContainer);
    mgr->ConnectOutput(task, 2, flowEvent);
    if(debug) cout << "    --> Created IO containers " << flowEvent << endl;
    AddSPmethod(Form("SPVZEROQa_in_%s", uniqueID.Data()), "Qa", harmonic, flowEvent, debug,uniqueID, POIfilterVZERO, trainConfig,BasicHistoSP);
    if(debug) cout << "    --> Hanging SP Qa task ... succes!" << endl;
    AddSPmethod(Form("SPVZEROQb_in_%s", uniqueID.Data()), "Qb", harmonic, flowEvent, debug,uniqueID, POIfilterVZERO, trainConfig,BasicHistoSP);
    if(debug) cout << "    --> Hanging SP Qb task ... succes!"<< endl;
    
    
    // Cut Numbers to use in Analysis
    Int_t numberOfCuts = 1;
    
    TString *eventCutArray = new TString[numberOfCuts];
    TString *photonCutArray = new TString[numberOfCuts];
    TString *mesonCutArray = new TString[numberOfCuts];
    
    if (trainConfig == 1){
        eventCutArray[ 0] = "6010001"; photonCutArray[ 0] = "042000092970023220000000"; mesonCutArray[ 0] = "01522045009000";
    } else if (trainConfig == 2) {
        eventCutArray[ 0] = "6120001"; photonCutArray[ 0] = "042000092970023220000000"; mesonCutArray[ 0] = "01522045009000";
    } else if (trainConfig == 3) {
        eventCutArray[ 0] = "5010001"; photonCutArray[ 0] = "042000092970023220000000"; mesonCutArray[ 0] = "01522045009000";
    } else if (trainConfig == 4) {
        eventCutArray[ 0] = "5020001"; photonCutArray[ 0] = "042000092970023220000000"; mesonCutArray[ 0] = "01522045009000";
    } else if (trainConfig == 5) {
        eventCutArray[ 0] = "5120001"; photonCutArray[ 0] = "042000092970023220000000"; mesonCutArray[ 0] = "01522045009000";
    } else if (trainConfig == 6) {
        eventCutArray[ 0] = "5240001"; photonCutArray[ 0] = "042000092970023220000000"; mesonCutArray[ 0] = "01522045009000";
    } else if (trainConfig == 7) {
        eventCutArray[ 0] = "5460001"; photonCutArray[ 0] = "042000092970023220000000"; mesonCutArray[ 0] = "01522065009000";
    } else if (trainConfig == 8) {
        eventCutArray[ 0] = "5480001"; photonCutArray[ 0] = "042000092970023220000000"; mesonCutArray[ 0] = "01522065009000";
    } else if (trainConfig == 9) {
        eventCutArray[ 0] = "5450001"; photonCutArray[ 0] = "042000092970023220000000"; mesonCutArray[ 0] = "01522065009000";
    } else if (trainConfig == 10) {
        eventCutArray[ 0] = "5560001"; photonCutArray[ 0] = "042000092970023220000000"; mesonCutArray[ 0] = "01522065009000";
    } else if (trainConfig == 11) {
        eventCutArray[ 0] = "5680001"; photonCutArray[ 0] = "042000092970023220000000"; mesonCutArray[ 0] = "01522065009000";
    } else if (trainConfig == 12) {
        eventCutArray[ 0] = "5670001"; photonCutArray[ 0] = "042000092970023220000000"; mesonCutArray[ 0] = "01522065009000";
    } else if (trainConfig == 13) {
        eventCutArray[ 0] = "5780001"; photonCutArray[ 0] = "042000092970023220000000"; mesonCutArray[ 0] = "01522065009000";
    } else if (trainConfig == 14) {
        eventCutArray[ 0] = "4690001"; photonCutArray[ 0] = "042000092970023220000000"; mesonCutArray[ 0] = "01522065009000";
    } else if (trainConfig == 15) {
        eventCutArray[ 0] = "5890001"; photonCutArray[ 0] = "042000092970023220000000"; mesonCutArray[ 0] = "01522065009000";
    } else  if (trainConfig == 16){
        eventCutArray[ 0] = "6010001"; photonCutArray[ 0] = "002000092970028250400000"; mesonCutArray[ 0] = "01525065000000";
    } else if (trainConfig == 17) {
        eventCutArray[ 0] = "6120001"; photonCutArray[ 0] = "002000092970028250400000"; mesonCutArray[ 0] = "01525065000000";
    } else if (trainConfig == 18) {
        eventCutArray[ 0] = "5010001"; photonCutArray[ 0] = "002000092970028250400000"; mesonCutArray[ 0] = "01525065000000";
    } else if (trainConfig == 19) {
        eventCutArray[ 0] = "5020001"; photonCutArray[ 0] = "002000092970028250400000"; mesonCutArray[ 0] = "01525065000000";
    } else if (trainConfig == 20) {
        eventCutArray[ 0] = "5120001"; photonCutArray[ 0] = "002000092970028250400000"; mesonCutArray[ 0] = "01525065000000";
    } else if (trainConfig == 21) {
        eventCutArray[ 0] = "5240001"; photonCutArray[ 0] = "002000092970028250400000"; mesonCutArray[ 0] = "01525065000000";
    } else if (trainConfig == 22) {
        eventCutArray[ 0] = "5460001"; photonCutArray[ 0] = "002000092970028250400000"; mesonCutArray[ 0] = "01525065000000";
    } else if (trainConfig == 23) {
        eventCutArray[ 0] = "5480001"; photonCutArray[ 0] = "002000092970028250400000"; mesonCutArray[ 0] = "01525065000000";
    } else if (trainConfig == 24) {
        eventCutArray[ 0] = "5450001"; photonCutArray[ 0] = "002000092970028250400000"; mesonCutArray[ 0] = "01525065000000";
    } else if (trainConfig == 25) {
        eventCutArray[ 0] = "5560001"; photonCutArray[ 0] = "002000092970028250400000"; mesonCutArray[ 0] = "01525065000000";
    } else if (trainConfig == 26) {
        eventCutArray[ 0] = "5680001"; photonCutArray[ 0] = "002000092970028250400000"; mesonCutArray[ 0] = "01525065000000";
    } else if (trainConfig == 27) {
        eventCutArray[ 0] = "5670001"; photonCutArray[ 0] = "002000092970028250400000"; mesonCutArray[ 0] = "01525065000000";
    } else if (trainConfig == 28) {
        eventCutArray[ 0] = "5780001"; photonCutArray[ 0] = "002000092970028250400000"; mesonCutArray[ 0] = "01525065000000";
    } else if (trainConfig == 29) {
        eventCutArray[ 0] = "4690001"; photonCutArray[ 0] = "002000092970028250400000"; mesonCutArray[ 0] = "01525065000000";
    } else if (trainConfig == 30) {
        eventCutArray[ 0] = "5890001"; photonCutArray[ 0] = "002000092970028250400000"; mesonCutArray[ 0] = "01525065000000";
    } else if (trainConfig == 31) {
        eventCutArray[ 0] = "5080001"; photonCutArray[ 0] = "002000092970028250400000"; mesonCutArray[ 0] = "01525065000000";
    } else if (trainConfig == 32) {
        eventCutArray[ 0] = "5250001"; photonCutArray[ 0] = "002000092970028250400000"; mesonCutArray[ 0] = "01525065000000";
    } else if (trainConfig == 33) {
        eventCutArray[ 0] = "5350001"; photonCutArray[ 0] = "002000092970028250400000"; mesonCutArray[ 0] = "01525065000000";
    } else if (trainConfig == 34) {
        eventCutArray[ 0] = "5450001"; photonCutArray[ 0] = "002000092970028250400000"; mesonCutArray[ 0] = "01525065000000";
    } else if (trainConfig == 35) {
        eventCutArray[ 0] = "5340001"; photonCutArray[ 0] = "002000092970028250400000"; mesonCutArray[ 0] = "01525065000000";
    } else if (trainConfig == 36) {
        eventCutArray[ 0] = "5230001"; photonCutArray[ 0] = "002000092970028250400000"; mesonCutArray[ 0] = "01525065000000";
    } else {
        Error(Form("GammaConvV1_%i",trainConfig), "wrong trainConfig variable no cuts have been specified for the configuration");
        return;
    }
    
    TList *EventCutList = new TList();
    TList *ConvCutList = new TList();
    TList *MesonCutList = new TList();
    
    TList *HeaderList = new TList();
    TObjString *Header1 = new TObjString("BOX");
    HeaderList->Add(Header1);
    //    TObjString *Header3 = new TObjString("eta_2");
    //    HeaderList->Add(Header3);
    
    EventCutList->SetOwner(kTRUE);
    AliConvEventCuts **analysisEventCuts = new AliConvEventCuts*[numberOfCuts];
    ConvCutList->SetOwner(kTRUE);
    AliConversionPhotonCuts **analysisCuts = new AliConversionPhotonCuts*[numberOfCuts];
    MesonCutList->SetOwner(kTRUE);
    AliConversionMesonCuts **analysisMesonCuts = new AliConversionMesonCuts*[numberOfCuts];
    
    for(Int_t i = 0; i<numberOfCuts; i++){
        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());
        ConvCutList->Add(analysisCuts[i]);
        analysisCuts[i]->SetFillCutHistograms("",kFALSE);
        
        analysisMesonCuts[i] = new AliConversionMesonCuts();
        analysisMesonCuts[i]->InitializeCutsFromCutString(mesonCutArray[i].Data());
        MesonCutList->Add(analysisMesonCuts[i]);
        analysisMesonCuts[i]->SetFillCutHistograms("");
        
        analysisEventCuts[i]->SetAcceptedHeader(HeaderList);
    }
    
    task->SetEventCutList(numberOfCuts,EventCutList);
    task->SetConversionCutList(numberOfCuts,ConvCutList);
//    task->SetMesonCutList(numberOfCuts,MesonCutList);
//    task->SetMoveParticleAccordingToVertex(kTRUE);
    task->SetDoMesonAnalysis(kFALSE);
    task->SetDoMesonQA(enableQAMesonTask); //Attention new switch for Pi0 QA
    task->SetDoPhotonQA(enableQAPhotonTask);  //Attention new switch small for Photon QA
    
    //connect containers
    AliAnalysisDataContainer *coutput =
	mgr->CreateContainer(Form("GammaConvV1_%i_v%d",trainConfig,harmonic), TList::Class(),
                         AliAnalysisManager::kOutputContainer,Form("GammaConvFlow_%i.root",trainConfig));
        
    mgr->AddTask(task);
    mgr->ConnectInput(task,0,cinput);
    mgr->ConnectOutput(task,1,coutput);
    
    return;
    
}

//_____________________________________________________________________________
void AddSPmethod(char *name, char *Qvector, int harmonic, AliAnalysisDataContainer *flowEvent, bool debug, TString uniqueID,  AliFlowTrackSimpleCuts* POIfilter,Int_t trainConfig, bool BasicHistoSP = kTRUE)
{
    // add sp task and invm filter tasks
    if(debug)  cout << " ******* Switching to SP task ******* " << endl;
    TString fileName = Form("GammaConvFlow_%i.root:SP_V0",trainConfig);
    if(debug) cout << "    --> fileName " << fileName << endl;
    TString myFolder = fileName;
    if(debug) cout << "    --> myFolder " << myFolder << endl;
    TString myNameSP;
    myNameSP = Form("%sSPv%d%s", name, harmonic, Qvector);
    if(debug) cout << " myNameSP " << myNameSP << endl;
    AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
    AliAnalysisDataContainer *flowEventOut = mgr->CreateContainer(Form("Filter_%s",myNameSP.Data()),AliFlowEventSimple::Class(),AliAnalysisManager::kExchangeContainer);
    AliAnalysisTaskFilterFE *tskFilter = new AliAnalysisTaskFilterFE(Form("TaskFilter_%s", myNameSP.Data()), NULL, POIfilter);
   // tskFilter->SetSubeventEtaRange(minEtaA, maxEtaA, minEtaB, maxEtaB);
    tskFilter->SetSubeventEtaRange(-10, -1, 1, 10);
    mgr->AddTask(tskFilter);
    mgr->ConnectInput(tskFilter, 0, flowEvent);
    mgr->ConnectOutput(tskFilter, 1, flowEventOut);
    AliAnalysisDataContainer *outSP = mgr->CreateContainer(myNameSP.Data(), TList::Class(), AliAnalysisManager::kOutputContainer, fileName);
    AliAnalysisTaskScalarProduct *tskSP = new AliAnalysisTaskScalarProduct(Form("TaskScalarProduct_%s", myNameSP.Data()), kFALSE);
    tskSP->SetApplyCorrectionForNUA(kTRUE);
    tskSP->SetHarmonic(harmonic);
    tskSP->SetTotalQvector(Qvector);
    //if (bEP) tskSP->SetBehaveAsEP();
    tskSP->SetBookOnlyBasicCCH(BasicHistoSP);
    mgr->AddTask(tskSP);
    mgr->ConnectInput(tskSP, 0, flowEventOut);
    mgr->ConnectOutput(tskSP, 1, outSP);
}
//_____________________________________________________________________________





 AddTask_GammaConvFlow_PbPb2.C:1
 AddTask_GammaConvFlow_PbPb2.C:2
 AddTask_GammaConvFlow_PbPb2.C:3
 AddTask_GammaConvFlow_PbPb2.C:4
 AddTask_GammaConvFlow_PbPb2.C:5
 AddTask_GammaConvFlow_PbPb2.C:6
 AddTask_GammaConvFlow_PbPb2.C:7
 AddTask_GammaConvFlow_PbPb2.C:8
 AddTask_GammaConvFlow_PbPb2.C:9
 AddTask_GammaConvFlow_PbPb2.C:10
 AddTask_GammaConvFlow_PbPb2.C:11
 AddTask_GammaConvFlow_PbPb2.C:12
 AddTask_GammaConvFlow_PbPb2.C:13
 AddTask_GammaConvFlow_PbPb2.C:14
 AddTask_GammaConvFlow_PbPb2.C:15
 AddTask_GammaConvFlow_PbPb2.C:16
 AddTask_GammaConvFlow_PbPb2.C:17
 AddTask_GammaConvFlow_PbPb2.C:18
 AddTask_GammaConvFlow_PbPb2.C:19
 AddTask_GammaConvFlow_PbPb2.C:20
 AddTask_GammaConvFlow_PbPb2.C:21
 AddTask_GammaConvFlow_PbPb2.C:22
 AddTask_GammaConvFlow_PbPb2.C:23
 AddTask_GammaConvFlow_PbPb2.C:24
 AddTask_GammaConvFlow_PbPb2.C:25
 AddTask_GammaConvFlow_PbPb2.C:26
 AddTask_GammaConvFlow_PbPb2.C:27
 AddTask_GammaConvFlow_PbPb2.C:28
 AddTask_GammaConvFlow_PbPb2.C:29
 AddTask_GammaConvFlow_PbPb2.C:30
 AddTask_GammaConvFlow_PbPb2.C:31
 AddTask_GammaConvFlow_PbPb2.C:32
 AddTask_GammaConvFlow_PbPb2.C:33
 AddTask_GammaConvFlow_PbPb2.C:34
 AddTask_GammaConvFlow_PbPb2.C:35
 AddTask_GammaConvFlow_PbPb2.C:36
 AddTask_GammaConvFlow_PbPb2.C:37
 AddTask_GammaConvFlow_PbPb2.C:38
 AddTask_GammaConvFlow_PbPb2.C:39
 AddTask_GammaConvFlow_PbPb2.C:40
 AddTask_GammaConvFlow_PbPb2.C:41
 AddTask_GammaConvFlow_PbPb2.C:42
 AddTask_GammaConvFlow_PbPb2.C:43
 AddTask_GammaConvFlow_PbPb2.C:44
 AddTask_GammaConvFlow_PbPb2.C:45
 AddTask_GammaConvFlow_PbPb2.C:46
 AddTask_GammaConvFlow_PbPb2.C:47
 AddTask_GammaConvFlow_PbPb2.C:48
 AddTask_GammaConvFlow_PbPb2.C:49
 AddTask_GammaConvFlow_PbPb2.C:50
 AddTask_GammaConvFlow_PbPb2.C:51
 AddTask_GammaConvFlow_PbPb2.C:52
 AddTask_GammaConvFlow_PbPb2.C:53
 AddTask_GammaConvFlow_PbPb2.C:54
 AddTask_GammaConvFlow_PbPb2.C:55
 AddTask_GammaConvFlow_PbPb2.C:56
 AddTask_GammaConvFlow_PbPb2.C:57
 AddTask_GammaConvFlow_PbPb2.C:58
 AddTask_GammaConvFlow_PbPb2.C:59
 AddTask_GammaConvFlow_PbPb2.C:60
 AddTask_GammaConvFlow_PbPb2.C:61
 AddTask_GammaConvFlow_PbPb2.C:62
 AddTask_GammaConvFlow_PbPb2.C:63
 AddTask_GammaConvFlow_PbPb2.C:64
 AddTask_GammaConvFlow_PbPb2.C:65
 AddTask_GammaConvFlow_PbPb2.C:66
 AddTask_GammaConvFlow_PbPb2.C:67
 AddTask_GammaConvFlow_PbPb2.C:68
 AddTask_GammaConvFlow_PbPb2.C:69
 AddTask_GammaConvFlow_PbPb2.C:70
 AddTask_GammaConvFlow_PbPb2.C:71
 AddTask_GammaConvFlow_PbPb2.C:72
 AddTask_GammaConvFlow_PbPb2.C:73
 AddTask_GammaConvFlow_PbPb2.C:74
 AddTask_GammaConvFlow_PbPb2.C:75
 AddTask_GammaConvFlow_PbPb2.C:76
 AddTask_GammaConvFlow_PbPb2.C:77
 AddTask_GammaConvFlow_PbPb2.C:78
 AddTask_GammaConvFlow_PbPb2.C:79
 AddTask_GammaConvFlow_PbPb2.C:80
 AddTask_GammaConvFlow_PbPb2.C:81
 AddTask_GammaConvFlow_PbPb2.C:82
 AddTask_GammaConvFlow_PbPb2.C:83
 AddTask_GammaConvFlow_PbPb2.C:84
 AddTask_GammaConvFlow_PbPb2.C:85
 AddTask_GammaConvFlow_PbPb2.C:86
 AddTask_GammaConvFlow_PbPb2.C:87
 AddTask_GammaConvFlow_PbPb2.C:88
 AddTask_GammaConvFlow_PbPb2.C:89
 AddTask_GammaConvFlow_PbPb2.C:90
 AddTask_GammaConvFlow_PbPb2.C:91
 AddTask_GammaConvFlow_PbPb2.C:92
 AddTask_GammaConvFlow_PbPb2.C:93
 AddTask_GammaConvFlow_PbPb2.C:94
 AddTask_GammaConvFlow_PbPb2.C:95
 AddTask_GammaConvFlow_PbPb2.C:96
 AddTask_GammaConvFlow_PbPb2.C:97
 AddTask_GammaConvFlow_PbPb2.C:98
 AddTask_GammaConvFlow_PbPb2.C:99
 AddTask_GammaConvFlow_PbPb2.C:100
 AddTask_GammaConvFlow_PbPb2.C:101
 AddTask_GammaConvFlow_PbPb2.C:102
 AddTask_GammaConvFlow_PbPb2.C:103
 AddTask_GammaConvFlow_PbPb2.C:104
 AddTask_GammaConvFlow_PbPb2.C:105
 AddTask_GammaConvFlow_PbPb2.C:106
 AddTask_GammaConvFlow_PbPb2.C:107
 AddTask_GammaConvFlow_PbPb2.C:108
 AddTask_GammaConvFlow_PbPb2.C:109
 AddTask_GammaConvFlow_PbPb2.C:110
 AddTask_GammaConvFlow_PbPb2.C:111
 AddTask_GammaConvFlow_PbPb2.C:112
 AddTask_GammaConvFlow_PbPb2.C:113
 AddTask_GammaConvFlow_PbPb2.C:114
 AddTask_GammaConvFlow_PbPb2.C:115
 AddTask_GammaConvFlow_PbPb2.C:116
 AddTask_GammaConvFlow_PbPb2.C:117
 AddTask_GammaConvFlow_PbPb2.C:118
 AddTask_GammaConvFlow_PbPb2.C:119
 AddTask_GammaConvFlow_PbPb2.C:120
 AddTask_GammaConvFlow_PbPb2.C:121
 AddTask_GammaConvFlow_PbPb2.C:122
 AddTask_GammaConvFlow_PbPb2.C:123
 AddTask_GammaConvFlow_PbPb2.C:124
 AddTask_GammaConvFlow_PbPb2.C:125
 AddTask_GammaConvFlow_PbPb2.C:126
 AddTask_GammaConvFlow_PbPb2.C:127
 AddTask_GammaConvFlow_PbPb2.C:128
 AddTask_GammaConvFlow_PbPb2.C:129
 AddTask_GammaConvFlow_PbPb2.C:130
 AddTask_GammaConvFlow_PbPb2.C:131
 AddTask_GammaConvFlow_PbPb2.C:132
 AddTask_GammaConvFlow_PbPb2.C:133
 AddTask_GammaConvFlow_PbPb2.C:134
 AddTask_GammaConvFlow_PbPb2.C:135
 AddTask_GammaConvFlow_PbPb2.C:136
 AddTask_GammaConvFlow_PbPb2.C:137
 AddTask_GammaConvFlow_PbPb2.C:138
 AddTask_GammaConvFlow_PbPb2.C:139
 AddTask_GammaConvFlow_PbPb2.C:140
 AddTask_GammaConvFlow_PbPb2.C:141
 AddTask_GammaConvFlow_PbPb2.C:142
 AddTask_GammaConvFlow_PbPb2.C:143
 AddTask_GammaConvFlow_PbPb2.C:144
 AddTask_GammaConvFlow_PbPb2.C:145
 AddTask_GammaConvFlow_PbPb2.C:146
 AddTask_GammaConvFlow_PbPb2.C:147
 AddTask_GammaConvFlow_PbPb2.C:148
 AddTask_GammaConvFlow_PbPb2.C:149
 AddTask_GammaConvFlow_PbPb2.C:150
 AddTask_GammaConvFlow_PbPb2.C:151
 AddTask_GammaConvFlow_PbPb2.C:152
 AddTask_GammaConvFlow_PbPb2.C:153
 AddTask_GammaConvFlow_PbPb2.C:154
 AddTask_GammaConvFlow_PbPb2.C:155
 AddTask_GammaConvFlow_PbPb2.C:156
 AddTask_GammaConvFlow_PbPb2.C:157
 AddTask_GammaConvFlow_PbPb2.C:158
 AddTask_GammaConvFlow_PbPb2.C:159
 AddTask_GammaConvFlow_PbPb2.C:160
 AddTask_GammaConvFlow_PbPb2.C:161
 AddTask_GammaConvFlow_PbPb2.C:162
 AddTask_GammaConvFlow_PbPb2.C:163
 AddTask_GammaConvFlow_PbPb2.C:164
 AddTask_GammaConvFlow_PbPb2.C:165
 AddTask_GammaConvFlow_PbPb2.C:166
 AddTask_GammaConvFlow_PbPb2.C:167
 AddTask_GammaConvFlow_PbPb2.C:168
 AddTask_GammaConvFlow_PbPb2.C:169
 AddTask_GammaConvFlow_PbPb2.C:170
 AddTask_GammaConvFlow_PbPb2.C:171
 AddTask_GammaConvFlow_PbPb2.C:172
 AddTask_GammaConvFlow_PbPb2.C:173
 AddTask_GammaConvFlow_PbPb2.C:174
 AddTask_GammaConvFlow_PbPb2.C:175
 AddTask_GammaConvFlow_PbPb2.C:176
 AddTask_GammaConvFlow_PbPb2.C:177
 AddTask_GammaConvFlow_PbPb2.C:178
 AddTask_GammaConvFlow_PbPb2.C:179
 AddTask_GammaConvFlow_PbPb2.C:180
 AddTask_GammaConvFlow_PbPb2.C:181
 AddTask_GammaConvFlow_PbPb2.C:182
 AddTask_GammaConvFlow_PbPb2.C:183
 AddTask_GammaConvFlow_PbPb2.C:184
 AddTask_GammaConvFlow_PbPb2.C:185
 AddTask_GammaConvFlow_PbPb2.C:186
 AddTask_GammaConvFlow_PbPb2.C:187
 AddTask_GammaConvFlow_PbPb2.C:188
 AddTask_GammaConvFlow_PbPb2.C:189
 AddTask_GammaConvFlow_PbPb2.C:190
 AddTask_GammaConvFlow_PbPb2.C:191
 AddTask_GammaConvFlow_PbPb2.C:192
 AddTask_GammaConvFlow_PbPb2.C:193
 AddTask_GammaConvFlow_PbPb2.C:194
 AddTask_GammaConvFlow_PbPb2.C:195
 AddTask_GammaConvFlow_PbPb2.C:196
 AddTask_GammaConvFlow_PbPb2.C:197
 AddTask_GammaConvFlow_PbPb2.C:198
 AddTask_GammaConvFlow_PbPb2.C:199
 AddTask_GammaConvFlow_PbPb2.C:200
 AddTask_GammaConvFlow_PbPb2.C:201
 AddTask_GammaConvFlow_PbPb2.C:202
 AddTask_GammaConvFlow_PbPb2.C:203
 AddTask_GammaConvFlow_PbPb2.C:204
 AddTask_GammaConvFlow_PbPb2.C:205
 AddTask_GammaConvFlow_PbPb2.C:206
 AddTask_GammaConvFlow_PbPb2.C:207
 AddTask_GammaConvFlow_PbPb2.C:208
 AddTask_GammaConvFlow_PbPb2.C:209
 AddTask_GammaConvFlow_PbPb2.C:210
 AddTask_GammaConvFlow_PbPb2.C:211
 AddTask_GammaConvFlow_PbPb2.C:212
 AddTask_GammaConvFlow_PbPb2.C:213
 AddTask_GammaConvFlow_PbPb2.C:214
 AddTask_GammaConvFlow_PbPb2.C:215
 AddTask_GammaConvFlow_PbPb2.C:216
 AddTask_GammaConvFlow_PbPb2.C:217
 AddTask_GammaConvFlow_PbPb2.C:218
 AddTask_GammaConvFlow_PbPb2.C:219
 AddTask_GammaConvFlow_PbPb2.C:220
 AddTask_GammaConvFlow_PbPb2.C:221
 AddTask_GammaConvFlow_PbPb2.C:222
 AddTask_GammaConvFlow_PbPb2.C:223
 AddTask_GammaConvFlow_PbPb2.C:224
 AddTask_GammaConvFlow_PbPb2.C:225
 AddTask_GammaConvFlow_PbPb2.C:226
 AddTask_GammaConvFlow_PbPb2.C:227
 AddTask_GammaConvFlow_PbPb2.C:228
 AddTask_GammaConvFlow_PbPb2.C:229
 AddTask_GammaConvFlow_PbPb2.C:230
 AddTask_GammaConvFlow_PbPb2.C:231
 AddTask_GammaConvFlow_PbPb2.C:232
 AddTask_GammaConvFlow_PbPb2.C:233
 AddTask_GammaConvFlow_PbPb2.C:234
 AddTask_GammaConvFlow_PbPb2.C:235
 AddTask_GammaConvFlow_PbPb2.C:236
 AddTask_GammaConvFlow_PbPb2.C:237
 AddTask_GammaConvFlow_PbPb2.C:238
 AddTask_GammaConvFlow_PbPb2.C:239
 AddTask_GammaConvFlow_PbPb2.C:240
 AddTask_GammaConvFlow_PbPb2.C:241
 AddTask_GammaConvFlow_PbPb2.C:242
 AddTask_GammaConvFlow_PbPb2.C:243
 AddTask_GammaConvFlow_PbPb2.C:244
 AddTask_GammaConvFlow_PbPb2.C:245
 AddTask_GammaConvFlow_PbPb2.C:246
 AddTask_GammaConvFlow_PbPb2.C:247
 AddTask_GammaConvFlow_PbPb2.C:248
 AddTask_GammaConvFlow_PbPb2.C:249
 AddTask_GammaConvFlow_PbPb2.C:250
 AddTask_GammaConvFlow_PbPb2.C:251
 AddTask_GammaConvFlow_PbPb2.C:252
 AddTask_GammaConvFlow_PbPb2.C:253
 AddTask_GammaConvFlow_PbPb2.C:254
 AddTask_GammaConvFlow_PbPb2.C:255
 AddTask_GammaConvFlow_PbPb2.C:256
 AddTask_GammaConvFlow_PbPb2.C:257
 AddTask_GammaConvFlow_PbPb2.C:258
 AddTask_GammaConvFlow_PbPb2.C:259
 AddTask_GammaConvFlow_PbPb2.C:260
 AddTask_GammaConvFlow_PbPb2.C:261
 AddTask_GammaConvFlow_PbPb2.C:262
 AddTask_GammaConvFlow_PbPb2.C:263
 AddTask_GammaConvFlow_PbPb2.C:264
 AddTask_GammaConvFlow_PbPb2.C:265
 AddTask_GammaConvFlow_PbPb2.C:266
 AddTask_GammaConvFlow_PbPb2.C:267
 AddTask_GammaConvFlow_PbPb2.C:268
 AddTask_GammaConvFlow_PbPb2.C:269
 AddTask_GammaConvFlow_PbPb2.C:270
 AddTask_GammaConvFlow_PbPb2.C:271
 AddTask_GammaConvFlow_PbPb2.C:272
 AddTask_GammaConvFlow_PbPb2.C:273
 AddTask_GammaConvFlow_PbPb2.C:274
 AddTask_GammaConvFlow_PbPb2.C:275
 AddTask_GammaConvFlow_PbPb2.C:276
 AddTask_GammaConvFlow_PbPb2.C:277
 AddTask_GammaConvFlow_PbPb2.C:278
 AddTask_GammaConvFlow_PbPb2.C:279
 AddTask_GammaConvFlow_PbPb2.C:280
 AddTask_GammaConvFlow_PbPb2.C:281
 AddTask_GammaConvFlow_PbPb2.C:282
 AddTask_GammaConvFlow_PbPb2.C:283
 AddTask_GammaConvFlow_PbPb2.C:284
 AddTask_GammaConvFlow_PbPb2.C:285
 AddTask_GammaConvFlow_PbPb2.C:286
 AddTask_GammaConvFlow_PbPb2.C:287
 AddTask_GammaConvFlow_PbPb2.C:288
 AddTask_GammaConvFlow_PbPb2.C:289
 AddTask_GammaConvFlow_PbPb2.C:290
 AddTask_GammaConvFlow_PbPb2.C:291
 AddTask_GammaConvFlow_PbPb2.C:292
 AddTask_GammaConvFlow_PbPb2.C:293
 AddTask_GammaConvFlow_PbPb2.C:294
 AddTask_GammaConvFlow_PbPb2.C:295
 AddTask_GammaConvFlow_PbPb2.C:296
 AddTask_GammaConvFlow_PbPb2.C:297
 AddTask_GammaConvFlow_PbPb2.C:298
 AddTask_GammaConvFlow_PbPb2.C:299
 AddTask_GammaConvFlow_PbPb2.C:300
 AddTask_GammaConvFlow_PbPb2.C:301
 AddTask_GammaConvFlow_PbPb2.C:302
 AddTask_GammaConvFlow_PbPb2.C:303
 AddTask_GammaConvFlow_PbPb2.C:304
 AddTask_GammaConvFlow_PbPb2.C:305
 AddTask_GammaConvFlow_PbPb2.C:306
 AddTask_GammaConvFlow_PbPb2.C:307
 AddTask_GammaConvFlow_PbPb2.C:308
 AddTask_GammaConvFlow_PbPb2.C:309
 AddTask_GammaConvFlow_PbPb2.C:310
 AddTask_GammaConvFlow_PbPb2.C:311
 AddTask_GammaConvFlow_PbPb2.C:312
 AddTask_GammaConvFlow_PbPb2.C:313
 AddTask_GammaConvFlow_PbPb2.C:314
 AddTask_GammaConvFlow_PbPb2.C:315
 AddTask_GammaConvFlow_PbPb2.C:316
 AddTask_GammaConvFlow_PbPb2.C:317
 AddTask_GammaConvFlow_PbPb2.C:318
 AddTask_GammaConvFlow_PbPb2.C:319
 AddTask_GammaConvFlow_PbPb2.C:320
 AddTask_GammaConvFlow_PbPb2.C:321
 AddTask_GammaConvFlow_PbPb2.C:322
 AddTask_GammaConvFlow_PbPb2.C:323
 AddTask_GammaConvFlow_PbPb2.C:324
 AddTask_GammaConvFlow_PbPb2.C:325
 AddTask_GammaConvFlow_PbPb2.C:326
 AddTask_GammaConvFlow_PbPb2.C:327
 AddTask_GammaConvFlow_PbPb2.C:328
 AddTask_GammaConvFlow_PbPb2.C:329
 AddTask_GammaConvFlow_PbPb2.C:330
 AddTask_GammaConvFlow_PbPb2.C:331