/**
* @file
*
* @ingroup pwg2_forward_scripts
*/
/**
* Run first pass of the analysis - that is read in ESD and produce AOD
*
* @param esddir ESD input directory. Any file matching the pattern
* *AliESDs*.root are added to the chain
* @param nEvents Number of events to process. If 0 or less, then
* all events are analysed
* @param proof Run in proof mode
* @param mc Run over MC data
*
* If PROOF mode is selected, then Terminate will be run on the master node
* in any case.
*
*
* @ingroup pwg2_forward_scripts
*/
void CreateResponseMatrices(const char* aoddir=".",
Int_t nEvents=-1,
const char* trig="INEL",
Double_t vzMin=-10,
Double_t vzMax=10,
char* output="responseMatrices.root",
Int_t proof=0)
{
// --- Libraries to load -------------------------------------------
gROOT->Macro("$ALICE_ROOT/PWGLF/FORWARD/analysis2/scripts/LoadLibs.C");
// --- Check for proof mode, and possibly upload pars --------------
if (proof> 0) {
gROOT->LoadMacro("$ALICE_ROOT/PWGLF/FORWARD/analysis2/scripts/LoadPars.C");
LoadPars(proof);
}
// --- Our data chain ----------------------------------------------
gROOT->LoadMacro("$ALICE_ROOT/PWGLF/FORWARD/analysis2/scripts/MakeChain.C");
TChain* chain = MakeChain("AOD", aoddir,true);
// If 0 or less events is select, choose all
if (nEvents <= 0) nEvents = chain->GetEntries();
// --- Creating the manager and handlers ---------------------------
AliAnalysisManager *mgr = new AliAnalysisManager("Forward Train",
"Forward Multiplicity");
AliAnalysisManager::SetCommonFileName(output);
// --- ESD input handler -------------------------------------------
AliAODInputHandler *aodInputHandler = new AliAODInputHandler();
mgr->SetInputEventHandler(aodInputHandler);
// --- Add tasks ---------------------------------------------------
// Forward
gROOT->LoadMacro("$ALICE_ROOT/PWGLF/FORWARD/analysis2/AddTaskCreateResponseMatrices.C");
AddTaskCreateResponseMatrices(trig, vzMin, vzMax);
// --- Run the analysis --------------------------------------------
TStopwatch t;
if (!mgr->InitAnalysis()) {
Error("MakeMult", "Failed to initialize analysis train!");
return;
}
// Skip terminate if we're so requested and not in Proof or full mode
mgr->SetSkipTerminate(false);
// Some informative output
mgr->PrintStatus();
// mgr->SetDebugLevel(3);
if (mgr->GetDebugLevel() < 1 && !proof)
mgr->SetUseProgressBar(kTRUE,100);
// Run the train
t.Start();
Printf("=== RUNNING ANALYSIS ==================================");
mgr->StartAnalysis(proof ? "proof" : "local", chain, nEvents);
t.Stop();
t.Print();
}
//
// EOF
//
CreateResponseMatrices.C:1 CreateResponseMatrices.C:2 CreateResponseMatrices.C:3 CreateResponseMatrices.C:4 CreateResponseMatrices.C:5 CreateResponseMatrices.C:6 CreateResponseMatrices.C:7 CreateResponseMatrices.C:8 CreateResponseMatrices.C:9 CreateResponseMatrices.C:10 CreateResponseMatrices.C:11 CreateResponseMatrices.C:12 CreateResponseMatrices.C:13 CreateResponseMatrices.C:14 CreateResponseMatrices.C:15 CreateResponseMatrices.C:16 CreateResponseMatrices.C:17 CreateResponseMatrices.C:18 CreateResponseMatrices.C:19 CreateResponseMatrices.C:20 CreateResponseMatrices.C:21 CreateResponseMatrices.C:22 CreateResponseMatrices.C:23 CreateResponseMatrices.C:24 CreateResponseMatrices.C:25 CreateResponseMatrices.C:26 CreateResponseMatrices.C:27 CreateResponseMatrices.C:28 CreateResponseMatrices.C:29 CreateResponseMatrices.C:30 CreateResponseMatrices.C:31 CreateResponseMatrices.C:32 CreateResponseMatrices.C:33 CreateResponseMatrices.C:34 CreateResponseMatrices.C:35 CreateResponseMatrices.C:36 CreateResponseMatrices.C:37 CreateResponseMatrices.C:38 CreateResponseMatrices.C:39 CreateResponseMatrices.C:40 CreateResponseMatrices.C:41 CreateResponseMatrices.C:42 CreateResponseMatrices.C:43 CreateResponseMatrices.C:44 CreateResponseMatrices.C:45 CreateResponseMatrices.C:46 CreateResponseMatrices.C:47 CreateResponseMatrices.C:48 CreateResponseMatrices.C:49 CreateResponseMatrices.C:50 CreateResponseMatrices.C:51 CreateResponseMatrices.C:52 CreateResponseMatrices.C:53 CreateResponseMatrices.C:54 CreateResponseMatrices.C:55 CreateResponseMatrices.C:56 CreateResponseMatrices.C:57 CreateResponseMatrices.C:58 CreateResponseMatrices.C:59 CreateResponseMatrices.C:60 CreateResponseMatrices.C:61 CreateResponseMatrices.C:62 CreateResponseMatrices.C:63 CreateResponseMatrices.C:64 CreateResponseMatrices.C:65 CreateResponseMatrices.C:66 CreateResponseMatrices.C:67 CreateResponseMatrices.C:68 CreateResponseMatrices.C:69 CreateResponseMatrices.C:70 CreateResponseMatrices.C:71 CreateResponseMatrices.C:72 CreateResponseMatrices.C:73 CreateResponseMatrices.C:74 CreateResponseMatrices.C:75 CreateResponseMatrices.C:76 CreateResponseMatrices.C:77 CreateResponseMatrices.C:78 CreateResponseMatrices.C:79 CreateResponseMatrices.C:80 CreateResponseMatrices.C:81 CreateResponseMatrices.C:82 CreateResponseMatrices.C:83 CreateResponseMatrices.C:84 CreateResponseMatrices.C:85