--- /dev/null
+//
+// Macro to initialize:
+// - the OCDB (run number required as input argument)
+// - the geometry (expected to be in the current directory)
+// to run the Calibration train.
+//
+
+void ConfigCalibTrain(Int_t run, const char *ocdb="raw://"){
+
+ // OCDB
+
+ AliCDBManager::Instance()->SetDefaultStorage(ocdb);
+ AliCDBManager::Instance()->SetRun(run);
+
+ // geometry
+ TGeoManager::Import("./geometry.root");
+ AliGeomManager::LoadGeometry("./geometry.root");
+ AliGeomManager::ApplyAlignObjsFromCDB("GRP ITS TPC");
+}
+/*
+ Template of calibration/filtering macro using ESD
+
+ .L $ALICE_ROOT/ANALYSIS/macros/runCalibTrain.C
+ runCalibTrain(105160);
+
+*/
+
#if !defined(__CINT__) || defined(__MAKECINT__)
#include <TChain.h>
#include <TSystem.h>
#include "AliAnalysisDataContainer.h"
#endif
-void runCalibTrain(const char *inFileName = "AliESDs.root",
- const char *outFileName = "AliESDs_v1.root")
+void runCalibTrain(Int_t runNumber, const char *inFileName = "AliESDs.root",
+ const char *outFileName = "AliESDs_v1.root")
{
gSystem->Load("libTree");
gSystem->Load("libANALYSIScalib");
gSystem->Load("libCORRFW");
gSystem->Load("libPWG3muon");
+ gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/ConfigCalibTrain.C");
+ gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskCopyESD.C");
+ gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskFilterFriend.C");
+ gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskFilterFriendSecond.C");
+ gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskAddObject.C");
+
+ // detector tasks
- gROOT->LoadMacro("AddTaskCopyESD.C");
- gROOT->LoadMacro("AddTaskFilterFriend.C");
- gROOT->LoadMacro("AddTaskFilterFriendSecond.C");
- gROOT->LoadMacro("AddTaskAddObject.C");
+ gROOT->LoadMacro("$ALICE_ROOT/TPC/macros/AddTaskTPCCalib.C");
AliLog::SetClassDebugLevel("AliESDEvent",19);
TChain *chain = new TChain("esdTree");
+
// Steering input chain
- chain->Add(inFileName);
+
+ chain->Add(inFileName);
+ ConfigCalibTrain(runNumber);
+
AliAnalysisManager *mgr = new AliAnalysisManager("ESD to ESD", "Analysis Manager");
- //mgr->SetDebugLevel(3);
+ // mgr->SetDebugLevel(3);
// Input
+
AliESDInputHandler* inpHandler = new AliESDInputHandler();
inpHandler->SetActiveBranches("ESDfriend*");
mgr->SetInputEventHandler (inpHandler);
// Output
+
AliESDHandler* esdHandler = new AliESDHandler();
esdHandler->SetOutputFileName(outFileName);
mgr->SetOutputEventHandler(esdHandler);
- // Tasks
+ // Steering Tasks
+
AliAnalysisTaskCopyESD *copy = AddTaskCopyESD();
-
AliAnalysisTaskFilterFriend* filter = AddTaskFilterFriend();
-
AliAnalysisTaskFilterFriendSecond* filter2 = AddTaskFilterFriendSecond();
-
AliAnalysisTaskAddObject* add = AddTaskAddObject();
-
- //
+
+ // Detector Tasks
+
+ AliAnalysisTask* tTPC = AddTaskTPCCalib(runNumber);
+
// Run the analysis
- //
+
if (!mgr->InitAnalysis()) {
printf("Analysis cannot be started, returning\n");
return;