]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGGA/PHOSTasks/PHOS_embedding/Embedding.C
Split: fix refs to AddTaskCentrality.C
[u/mrichter/AliRoot.git] / PWGGA / PHOSTasks / PHOS_embedding / Embedding.C
CommitLineData
02f0b8e7 1void Embedding(const char* dataset="collection.xml")
2{
3
4070f709 4 gSystem->Load("libTree");
5 gSystem->Load("libGeom");
6 gSystem->Load("libVMC");
7 gSystem->Load("libPhysics");
02f0b8e7 8
9 //load analysis framework
b4ae47e1 10 gSystem->Load("libSTEERBase");
02f0b8e7 11 gSystem->Load("libANALYSIS");
12 gSystem->Load("libANALYSISalice"); //AliAnalysisTaskSE
13
14 gSystem->AddIncludePath("-I$ALICE_ROOT/include -I$ALICE_ROOT/PHOS");
15
16 // A task can be compiled dynamically with AClic
17 gROOT->LoadMacro("AliPHOSEmbedding.cxx+g");
18
19 // Connect to alien
20 TString token = gSystem->Getenv("GRID_TOKEN") ;
21 if (1) // token == "OK" )
22 TGrid::Connect("alien://");
23 else
24 AliInfo("You are not connected to the GRID") ;
25 cout << "Pi0Analysis: processing collection " << dataset << endl;
26
27 // Create the chain
28 TChain* chain = new TChain("esdTree");
29
02f0b8e7 30 TGridCollection * collection = dynamic_cast<TGridCollection*>(TAlienCollection::Open(dataset));
31
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) ;
38 chain->Add(rawFile);
39 printf("Chain: %d entries.\n",chain->GetEntries());
40 }
41 TFileInfo * fi = static_cast<TFileInfo*>(rawFileList->At(0));
42 const char * fn = fi->GetCurrentUrl()->GetUrl() ;
b4ae47e1 43
44 char runNum[7];
45 for(Int_t i=0;i<6;i++)runNum[i]=fn[35+i] ;
46
02f0b8e7 47 runNum[6]=0 ;
48 Int_t iRunNum=atoi(runNum) ;
49 printf("Run number=%d \n",iRunNum) ;
50
51 //Run AOD simulation
52 int nrun = atoi(runNum);
53 int nevent = 0;
54 int seed = 0;
55
56 char sseed[1024];
57 char sevent[1024];
58 char sprocess[1024];
59 char sfield[1024];
60 char senergy[1024];
61
62 sprintf(sevent,"");
63 sprintf(sprocess,"");
64 sprintf(sfield,"");
65 sprintf(senergy,"");
66
67 seed = 0;
68 sprintf(sseed,"%d",seed);
69
70 if (seed==0) {
71 fprintf(stderr,"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");
72 fprintf(stderr,"!!!! WARNING! Seeding variable for MC is 0 !!!!\n");
73 fprintf(stderr,"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");
74 } else {
75 fprintf(stdout,"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");
76 fprintf(stdout,"!!! MC Seed is %d \n",seed);
77 fprintf(stdout,"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");
78 }
79
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
86
87
88 char nSimEvents[55] ;
89 sprintf(nSimEvents,"%d",chain->GetEntries());
90 gSystem->Setenv("SIM_EVENTS",nSimEvents);
91 gSystem->Exec("mv geometry.root geometry_PHOS.root") ;
b4ae47e1 92 gSystem->Exec("aliroot -b -q simrun.C > simrun.log 2>&1");
02f0b8e7 93 gSystem->Exec("mv geometry_PHOS.root geometry.root") ;
94
95 // Make the analysis manager
96 AliAnalysisManager *mgr = new AliAnalysisManager("Pi0EmbeddingManager");
97
98 // ESD input handler
99 AliESDInputHandler* esdH = new AliESDInputHandler();
100 esdH->SetReadFriends(kFALSE);
101 mgr->SetInputEventHandler(esdH);
102
103 // Output
104 AliAODHandler* aodHandler = new AliAODHandler();
105 aodHandler->SetOutputFileName("AliAODout.root");
106 mgr->SetOutputEventHandler(aodHandler);
107
108
109 // Debug level
110 mgr->SetDebugLevel(0);
111
b4ae47e1 112
02f0b8e7 113 // Add physics selection
b4ae47e1 114 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPhysicsSelection.C");
115 AliPhysicsSelectionTask* physSelTask = AddTaskPhysicsSelection(kFALSE);
02f0b8e7 116
1c06a186 117 gROOT->LoadMacro("$ALICE_ROOT/OADB/macros/AddTaskCentrality.C");
02f0b8e7 118 AliCentralitySelectionTask *taskCentrality = AddTaskCentrality() ;
b4ae47e1 119
120 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskEventplane.C");
121 AliEPSelectionTask *taskEP = AddTaskEventplane() ;
02f0b8e7 122
123 // Add my task
124 AliPHOSEmbedding *task1 = new AliPHOSEmbedding("Embedding");
125
126 TChain* chainAOD = new TChain("aodTree");
127 chainAOD->AddFile("AliAOD.root") ;
128 task1->SetSignalChain(chainAOD) ;
b4ae47e1 129 task1->SelectCollisionCandidates();
02f0b8e7 130
131
132 TFile *fOldCalib = TFile::Open("OldCalibration.root");
133 if(fOldCalib->IsOpen()){
134 printf("\n\n...Adding PHOS calibration used in ESD production \n") ;
135 char key[55] ;
136 TH2F * hCalib[5] ;
137 for(Int_t mod=0;mod<5; mod++){
138 sprintf(key,"calibrationMod%d",mod) ;
139 hCalib[mod] = (TH2F*)fOldCalib->Get(key) ;
140 }
141 task1->SetOldCalibration(hCalib) ;
142 fOldCalib->Close() ;
143 }
144
145 mgr->AddTask(task1);
146
147 // Create containers for input/output
148 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
149 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("output0",
150 TTree::Class(), AliAnalysisManager::kOutputContainer);
151
152
153 // Connect input/output
154 mgr->ConnectInput(task1 , 0, cinput);
155 mgr->ConnectOutput(task1, 0,coutput1);
156
157 AliLog::SetClassDebugLevel("AliGeomManager", 10) ;
158
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/*/*",
164 "local://OCDB");
165printf("RunNunm===%d \n",iRunNum) ;
166
167
168 if (mgr->InitAnalysis()) {
169 mgr->PrintStatus();
170 mgr->StartAnalysis("local", chain);
171 }
172
173 if(iRunNum<=137848){ //period 1
174 gSystem->Exec("mv BadMap_LHC10h_period1.root BadMap_LHC10h.root") ;
175 }
176 else{
177 gSystem->Exec("mv BadMap_LHC10h_period234.root BadMap_LHC10h.root") ;
178 }
b4ae47e1 179 gSystem->Exec("aliroot -b -q AnalyzeDiff.C> analyze3.log 2>&1");
02f0b8e7 180
181}