1 void Embedding(const char* dataset="collection.xml")
4 gSystem->Load("libTree");
5 gSystem->Load("libGeom");
6 gSystem->Load("libVMC");
7 gSystem->Load("libPhysics");
9 //load analysis framework
10 gSystem->Load("libSTEERBase");
11 gSystem->Load("libANALYSIS");
12 gSystem->Load("libANALYSISalice"); //AliAnalysisTaskSE
14 gSystem->AddIncludePath("-I$ALICE_ROOT/include -I$ALICE_ROOT/PHOS");
16 // A task can be compiled dynamically with AClic
17 gROOT->LoadMacro("AliPHOSEmbedding.cxx+g");
20 TString token = gSystem->Getenv("GRID_TOKEN") ;
21 if (1) // token == "OK" )
22 TGrid::Connect("alien://");
24 AliInfo("You are not connected to the GRID") ;
25 cout << "Pi0Analysis: processing collection " << dataset << endl;
28 TChain* chain = new TChain("esdTree");
30 TGridCollection * collection = dynamic_cast<TGridCollection*>(TAlienCollection::Open(dataset));
32 TAlienResult* result = collection->GetGridResult("",0 ,0);
33 TList* rawFileList = result->GetFileInfoList();
34 for (Int_t counter=0 ; counter < rawFileList->GetEntries() ; counter++) {
35 TFileInfo * fi = static_cast<TFileInfo*>(rawFileList->At(counter)) ;
36 const char * rawFile = fi->GetCurrentUrl()->GetUrl() ;
37 printf("Processing %s\n", rawFile) ;
39 printf("Chain: %d entries.\n",chain->GetEntries());
41 TFileInfo * fi = static_cast<TFileInfo*>(rawFileList->At(0));
42 const char * fn = fi->GetCurrentUrl()->GetUrl() ;
45 for(Int_t i=0;i<6;i++)runNum[i]=fn[35+i] ;
48 Int_t iRunNum=atoi(runNum) ;
49 printf("Run number=%d \n",iRunNum) ;
52 int nrun = atoi(runNum);
68 sprintf(sseed,"%d",seed);
71 fprintf(stderr,"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");
72 fprintf(stderr,"!!!! WARNING! Seeding variable for MC is 0 !!!!\n");
73 fprintf(stderr,"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");
75 fprintf(stdout,"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");
76 fprintf(stdout,"!!! MC Seed is %d \n",seed);
77 fprintf(stdout,"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");
80 // set the seed environment variable
81 gSystem->Setenv("CONFIG_SEED",sseed);
82 gSystem->Setenv("CONFIG_RUN_TYPE","kPythia6"); // kPythia6 or kPhojet^M
83 gSystem->Setenv("CONFIG_FIELD","k5kG"); // kNoField or k5kG^M
84 gSystem->Setenv("CONFIG_ENERGY","2760"); // 900 or 10000 (GeV)
85 gSystem->Setenv("DC_RUN",runNum); //run number
89 sprintf(nSimEvents,"%d",chain->GetEntries());
90 gSystem->Setenv("SIM_EVENTS",nSimEvents);
91 gSystem->Exec("mv geometry.root geometry_PHOS.root") ;
92 gSystem->Exec("aliroot -b -q simrun.C > simrun.log 2>&1");
93 gSystem->Exec("mv geometry_PHOS.root geometry.root") ;
95 // Make the analysis manager
96 AliAnalysisManager *mgr = new AliAnalysisManager("Pi0EmbeddingManager");
99 AliESDInputHandler* esdH = new AliESDInputHandler();
100 esdH->SetReadFriends(kFALSE);
101 mgr->SetInputEventHandler(esdH);
104 AliAODHandler* aodHandler = new AliAODHandler();
105 aodHandler->SetOutputFileName("AliAODout.root");
106 mgr->SetOutputEventHandler(aodHandler);
110 mgr->SetDebugLevel(0);
113 // Add physics selection
114 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPhysicsSelection.C");
115 AliPhysicsSelectionTask* physSelTask = AddTaskPhysicsSelection(kFALSE);
117 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskCentrality.C");
118 AliCentralitySelectionTask *taskCentrality = AddTaskCentrality() ;
120 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskEventplane.C");
121 AliEPSelectionTask *taskEP = AddTaskEventplane() ;
124 AliPHOSEmbedding *task1 = new AliPHOSEmbedding("Embedding");
126 TChain* chainAOD = new TChain("aodTree");
127 chainAOD->AddFile("AliAOD.root") ;
128 task1->SetSignalChain(chainAOD) ;
129 task1->SelectCollisionCandidates();
132 TFile *fOldCalib = TFile::Open("OldCalibration.root");
133 if(fOldCalib->IsOpen()){
134 printf("\n\n...Adding PHOS calibration used in ESD production \n") ;
137 for(Int_t mod=0;mod<5; mod++){
138 sprintf(key,"calibrationMod%d",mod) ;
139 hCalib[mod] = (TH2F*)fOldCalib->Get(key) ;
141 task1->SetOldCalibration(hCalib) ;
147 // Create containers for input/output
148 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
149 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("output0",
150 TTree::Class(), AliAnalysisManager::kOutputContainer);
153 // Connect input/output
154 mgr->ConnectInput(task1 , 0, cinput);
155 mgr->ConnectOutput(task1, 0,coutput1);
157 AliLog::SetClassDebugLevel("AliGeomManager", 10) ;
159 AliCDBManager::Instance()->SetRun(iRunNum) ;
160 // AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT/OCDB") ;
161 // AliCDBManager::Instance()->SetDefaultStorage("raw://") ;
162 AliCDBManager::Instance()->SetDefaultStorage("alien://folder=/alice/data/2010/OCDB") ;
163 AliCDBManager::Instance()->SetSpecificStorage("PHOS/*/*",
165 printf("RunNunm===%d \n",iRunNum) ;
168 if (mgr->InitAnalysis()) {
170 mgr->StartAnalysis("local", chain);
173 if(iRunNum<=137848){ //period 1
174 gSystem->Exec("mv BadMap_LHC10h_period1.root BadMap_LHC10h.root") ;
177 gSystem->Exec("mv BadMap_LHC10h_period234.root BadMap_LHC10h.root") ;
179 gSystem->Exec("aliroot -b -q AnalyzeDiff.C> analyze3.log 2>&1");