#define TENDER
void runProofNormalization(const char * dataset = "LHC09b12_7TeV_0.5T", TString dataSetPath ="/PWG0/jgrosseo/",const char * filename = "LHC09b12_7TeV_0.5T_norm.root", Bool_t isMC = 1,Int_t nev =123456789) {
#ifdef TENDER
TGrid::Connect("alien://");
#endif
gEnv->SetValue("XSec.GSI.DelegProxy","2");
TProof::Open("alice-caf","workers=1x");// limit the number of workers
// gROOT->ProcessLine(Form(".include %s/include",gSystem->ExpandPathName("$ALICE_ROOT")));
// gSystem->AddIncludePath("-I${ALICE_ROOT}/include/ -I${ALICE_ROOT}/PWG0/ -I${ALICE_ROOT}/PWG0/dNdEta/");
// gSystem->AddIncludePath("-I${ALICE_ROOT}/include/");
// Use a precompiled tag
TString alirootMode=""; // STEERBase,ESD,AOD,ANALYSIS,ANALYSISalice (default aliroot mode)
//alirootMode="ALIROOT"; // $ALICE_ROOT/macros/loadlibs.C
// alirootMode="REC"; // $ALICE_ROOT/macros/loadlibsrec.C
// alirootMode="SIM"; // $ALICE_ROOT/macros/loadlibssim.C
// alirootMode="TRAIN"; // $ALICE_ROOT/macros/loadlibstrain.C (not working yet)
// alirootMode="CUSTOM"; // nothing is loaded, but aliroot variables are set (not working yet)
TString extraLibs;
extraLibs= ""; // not needed in default aliroot mode
extraLibs+="CDB:RAWDatabase:STEER:TENDER:TRDbase:STAT:TRDrec:VZERObase:VZEROsim:VZEROrec:RAWDatarec:TPCbase:TPCrec:TPCcalib:TENDERSupplies:RAWDatabase:RAWDatarec:RAWDatasim:TOFbase:TOFrec";
TList *list = new TList();
// sets $ALIROOT_MODE on each worker to let proof to know to run in special mode
list->Add(new TNamed("ALIROOT_MODE", alirootMode.Data()));
// sets $ALIROOT_EXTRA_LIBS on each worker to let proof to know to load extra libs
list->Add(new TNamed("ALIROOT_EXTRA_LIBS", extraLibs.Data()));
#ifdef TENDER
list->Add(new TNamed("ALIROOT_ENABLE_ALIEN", "1"));
#endif
// connect to proof
gProof->EnablePackage("VO_ALICE@AliRoot::v4-21-22-AN", list);
// gProof->Exec("TGrid::Connect(\"alien://\");");
// gProof->UploadPackage("$ALICE_ROOT/obj/STEERBase");
// gProof->EnablePackage("$ALICE_ROOT/obj/STEERBase");
// gProof->UploadPackage("$ALICE_ROOT/obj/ESD");
// gProof->EnablePackage("$ALICE_ROOT/obj/ESD");
// gProof->UploadPackage("$ALICE_ROOT/obj/AOD");
// gProof->EnablePackage("$ALICE_ROOT/obj/AOD");
// gProof->UploadPackage("$ALICE_ROOT/obj/ANALYSIS");
// gProof->EnablePackage("$ALICE_ROOT/obj/ANALYSIS");
// gProof->UploadPackage("$ALICE_ROOT/obj/OADB");
// gProof->EnablePackage("$ALICE_ROOT/obj/OADB");
// gProof->UploadPackage("$ALICE_ROOT/obj/ANALYSISalice");
// gProof->EnablePackage("$ALICE_ROOT/obj/ANALYSISalice");
// gProof->UploadPackage("STEERBase.par");
// gProof->EnablePackage("STEERBase");
// gProof->UploadPackage("ESD.par");
// gProof->EnablePackage("ESD");
// gProof->UploadPackage("AOD.par");
// gProof->EnablePackage("AOD");
// gProof->UploadPackage("ANALYSIS.par");
// gProof->EnablePackage("ANALYSIS");
// gProof->UploadPackage("ANALYSISalice.par");
// gProof->EnablePackage("ANALYSISalice");
// gProof->UploadPackage("CORRFW.par");
// gProof->EnablePackage("CORRFW");
// Make the analysis manager
AliAnalysisManager *mgr = new AliAnalysisManager("TestManager");
// mgr->SetDebugLevel(3);
// Add ESD handler
AliESDInputHandler* esdH = new AliESDInputHandler;
mgr->SetInputEventHandler(esdH);
if(isMC) {
AliMCEventHandler *mc = new AliMCEventHandler();
mc->SetReadTR(kFALSE);
mgr->SetMCtruthEventHandler(mc);
}
//____________________________________________//
#ifdef TENDER
gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/TenderSupplies/AddTaskTender.C");
AliAnalysisTask* tender=0x0;
if(!isMC)
{
tender = AddTaskTender(kTRUE);
// tender->SetDebugLevel(10);
}
else
{
tender = AddTaskTender(kFALSE);
// tender->SetDebugLevel(10);
}
#endif
gROOT->LoadMacro("$(ALICE_ROOT)/ANALYSIS/macros/AddTaskPhysicsSelection.C");
AliPhysicsSelectionTask* physSelTask = AddTaskPhysicsSelection(isMC,1,!isMC); // Use Physics Selection. Enable computation of BG if is not MC
// task->SelectCollisionCandidates(); /// This should be disabled, at least for MC: we need all the events
physSelTask->GetPhysicsSelection()->SetBin0Callback("TaskNormalization");
// assign simple task
AliCollisionNormalizationTask * task = new AliCollisionNormalizationTask("TaskNormalization");
// task->SetMC();
task->SetMC(isMC);
mgr->AddTask(task);
AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer();
mgr->ConnectInput(task,0,cinput1);
// Attach output
cOutput = mgr->CreateContainer("Norm", TList::Class(), AliAnalysisManager::kOutputContainer,filename);
mgr->ConnectOutput(task, 1, cOutput);
if (!mgr->InitAnalysis()) return;
mgr->PrintStatus();
mgr->StartAnalysis("proof",dataSetPath+dataset+"#esdTree",nev);
}
runProofNormalization.C:1 runProofNormalization.C:2 runProofNormalization.C:3 runProofNormalization.C:4 runProofNormalization.C:5 runProofNormalization.C:6 runProofNormalization.C:7 runProofNormalization.C:8 runProofNormalization.C:9 runProofNormalization.C:10 runProofNormalization.C:11 runProofNormalization.C:12 runProofNormalization.C:13 runProofNormalization.C:14 runProofNormalization.C:15 runProofNormalization.C:16 runProofNormalization.C:17 runProofNormalization.C:18 runProofNormalization.C:19 runProofNormalization.C:20 runProofNormalization.C:21 runProofNormalization.C:22 runProofNormalization.C:23 runProofNormalization.C:24 runProofNormalization.C:25 runProofNormalization.C:26 runProofNormalization.C:27 runProofNormalization.C:28 runProofNormalization.C:29 runProofNormalization.C:30 runProofNormalization.C:31 runProofNormalization.C:32 runProofNormalization.C:33 runProofNormalization.C:34 runProofNormalization.C:35 runProofNormalization.C:36 runProofNormalization.C:37 runProofNormalization.C:38 runProofNormalization.C:39 runProofNormalization.C:40 runProofNormalization.C:41 runProofNormalization.C:42 runProofNormalization.C:43 runProofNormalization.C:44 runProofNormalization.C:45 runProofNormalization.C:46 runProofNormalization.C:47 runProofNormalization.C:48 runProofNormalization.C:49 runProofNormalization.C:50 runProofNormalization.C:51 runProofNormalization.C:52 runProofNormalization.C:53 runProofNormalization.C:54 runProofNormalization.C:55 runProofNormalization.C:56 runProofNormalization.C:57 runProofNormalization.C:58 runProofNormalization.C:59 runProofNormalization.C:60 runProofNormalization.C:61 runProofNormalization.C:62 runProofNormalization.C:63 runProofNormalization.C:64 runProofNormalization.C:65 runProofNormalization.C:66 runProofNormalization.C:67 runProofNormalization.C:68 runProofNormalization.C:69 runProofNormalization.C:70 runProofNormalization.C:71 runProofNormalization.C:72 runProofNormalization.C:73 runProofNormalization.C:74 runProofNormalization.C:75 runProofNormalization.C:76 runProofNormalization.C:77 runProofNormalization.C:78 runProofNormalization.C:79 runProofNormalization.C:80 runProofNormalization.C:81 runProofNormalization.C:82 runProofNormalization.C:83 runProofNormalization.C:84 runProofNormalization.C:85 runProofNormalization.C:86 runProofNormalization.C:87 runProofNormalization.C:88 runProofNormalization.C:89 runProofNormalization.C:90 runProofNormalization.C:91 runProofNormalization.C:92 runProofNormalization.C:93 runProofNormalization.C:94 runProofNormalization.C:95 runProofNormalization.C:96 runProofNormalization.C:97 runProofNormalization.C:98 runProofNormalization.C:99 runProofNormalization.C:100 runProofNormalization.C:101 runProofNormalization.C:102 runProofNormalization.C:103 runProofNormalization.C:104 runProofNormalization.C:105 runProofNormalization.C:106 runProofNormalization.C:107 runProofNormalization.C:108 runProofNormalization.C:109 runProofNormalization.C:110 runProofNormalization.C:111 runProofNormalization.C:112 runProofNormalization.C:113 runProofNormalization.C:114 runProofNormalization.C:115 runProofNormalization.C:116 runProofNormalization.C:117 runProofNormalization.C:118