1 void rec(Int_t runNumber = 0, const char* year = "08", const char *localFileName = NULL)
\r
3 // Offline shifter reconstruction macro
\r
5 cout << "Going to run the reconstruction for run: " << runNumber << endl;
\r
7 // connect to the grid
\r
8 TGrid * grid = 0x0 ;
\r
9 grid = TGrid::Connect("alien://") ;
\r
11 // make the file name pattern year and run number
\r
13 pattern.Form("%9d",runNumber);
\r
14 pattern.ReplaceAll(" ", "0") ;
\r
15 pattern.Prepend(year);
\r
16 pattern.Append("*0.root");
\r
18 // find the files associated to this run
\r
19 // get the list of files from AliEn directly
\r
21 baseDir.Form("/alice/data/20%s/",year);
\r
23 cout << "Looking for raw-data files with pattern " << pattern << " in folder " << baseDir << endl;
\r
25 TGridResult *result = grid->Query(baseDir, pattern);
\r
27 TList *fileList = result->GetFileInfoList();
\r
29 cout << fileList->GetEntries() << " raw-data files found" << endl;
\r
30 if ( fileList->GetEntries() == 0) {
\r
31 cout << "Exiting..." << endl;
\r
35 // Take the first (or last?) file...
\r
36 TFileInfo *fi = (TFileInfo *)fileList->At(0);
\r
37 // TFileInfo *fi = (TFileInfo *)fileList->At(fileList->GetEntries()-1);
\r
39 cout << "Getting the file:" << fi->GetCurrentUrl()->GetUrl() << endl;
\r
42 TString filename(fi->GetCurrentUrl()->GetUrl());
\r
46 /////////////////////////////////////////////////////////////////////////////////////////
\r
48 // First version of the reconstruction
\r
49 // script for the FDR'08
\r
51 // Set the CDB storage location
\r
52 // AliLog::SetModuleDebugLevel("STEER",2);
\r
53 AliCDBManager * man = AliCDBManager::Instance();
\r
54 // man->SetDefaultStorage("local://LocalCDB");
\r
55 man->SetDefaultStorage("alien://folder=/alice/data/2008/LHC08a/OCDB/");
\r
57 // Files that we can not read from alien...
\r
58 man->SetSpecificStorage("ITS/Calib/MapsAnodeSDD","local://$ALICE_ROOT");
\r
59 man->SetSpecificStorage("ITS/Calib/MapsTimeSDD","local://$ALICE_ROOT");
\r
60 man->SetSpecificStorage("TPC/Calib/ExB","local://$ALICE_ROOT");
\r
62 // Objects not found if using LHC07w database
\r
63 // man->SetSpecificStorage("ITS/Calib/MapsAnodeSDD","local:///afs/cern.ch/user/c/cheshkov/public/OCDB");
\r
64 // man->SetSpecificStorage("GRP/GRP/Data","local://$ALICE_ROOT");
\r
65 // man->SetSpecificStorage("ITS/Calib/DDLMapSDD","local://$ALICE_ROOT");
\r
66 // man->SetSpecificStorage("MUON/Calib/Mapping","local://$ALICE_ROOT");
\r
67 // man->SetSpecificStorage("MUON/Calib/DDLStore","local://$ALICE_ROOT");
\r
70 AliITSRecoParam * itsRecoParam = AliITSRecoParam::GetCosmicTestParam();
\r
71 itsRecoParam->SetClusterErrorsParam(2);
\r
72 itsRecoParam->SetFindV0s(kFALSE);
\r
73 itsRecoParam->SetAddVirtualClustersInDeadZone(kFALSE);
\r
74 itsRecoParam->SetUseAmplitudeInfo(kFALSE);
\r
75 // In case we want to switch off a layer
\r
76 // itsRecoParam->SetLayerToSkip(<N>);
\r
77 itsRecoParam->SetLayerToSkip(4);
\r
78 itsRecoParam->SetLayerToSkip(5);
\r
79 itsRecoParam->SetLayerToSkip(2);
\r
80 itsRecoParam->SetLayerToSkip(3);
\r
81 AliITSReconstructor::SetRecoParam(itsRecoParam);
\r
84 AliLog::SetClassDebugLevel("AliTPCclustererMI",2);
\r
85 AliTPCRecoParam * tpcRecoParam = AliTPCRecoParam::GetCosmicTestParam(kTRUE);
\r
86 tpcRecoParam->SetTimeInterval(60,940);
\r
87 tpcRecoParam->Dump();
\r
88 AliTPCReconstructor::SetRecoParam(tpcRecoParam);
\r
89 AliTPCReconstructor::SetStreamLevel(1);
\r
92 AliPHOSRecoParam* recEmc = new AliPHOSRecoParamEmc();
\r
93 recEmc->SetSubtractPedestals(kTRUE);
\r
94 recEmc->SetMinE(0.05);
\r
95 recEmc->SetClusteringThreshold(0.10);
\r
96 AliPHOSReconstructor::SetRecoParamEmc(recEmc);
\r
99 AliLog::SetModuleDebugLevel("T0", 10);
\r
102 AliLog::SetClassDebugLevel("AliMUONRawStreamTracker",3);
\r
103 AliMUONRecoParam *muonRecoParam = AliMUONRecoParam::GetLowFluxParam();
\r
104 muonRecoParam->CombineClusterTrackReco(kTRUE);
\r
105 muonRecoParam->SetCalibrationMode("NOGAIN");
\r
106 //muonRecoParam->SetClusteringMode("PEAKFIT");
\r
107 //muonRecoParam->SetClusteringMode("PEAKCOG");
\r
108 muonRecoParam->Print("FULL");
\r
109 AliRecoParam::Instance()->RegisterRecoParam(muonRecoParam);
\r
111 // Tracking settings
\r
112 // AliMagFMaps* field = new AliMagFMaps("Maps","Maps", 2, 1., 10., 1);
\r
113 AliMagFMaps* field = new AliMagFMaps("Maps","Maps", 2, 0., 10., 2);
\r
114 AliTracker::SetFieldMap(field,1);
\r
115 Double_t mostProbPt=0.35;
\r
116 AliExternalTrackParam::SetMostProbablePt(mostProbPt);
\r
118 // AliReconstruction settings
\r
119 AliReconstruction rec;
\r
120 rec.SetUniformFieldTracking(kFALSE);
\r
121 rec.SetWriteESDfriend(kTRUE);
\r
122 rec.SetWriteAlignmentData();
\r
123 rec.SetInput(filename.Data());
\r
124 rec.SetRunReconstruction("ALL");
\r
125 rec.SetUseTrackingErrorsForAlignment("ITS");
\r
127 // In case some detectors have to be switched off...
\r
128 // rec.SetRunLocalReconstruction("ALL");
\r
129 // rec.SetRunTracking("ALL");
\r
130 // rec.SetFillESD("ALL");
\r
131 // Disable vertex finder for the moment
\r
132 rec.SetRunVertexFinder(kFALSE);
\r
134 // To be enabled if some equipment IDs are not set correctly by DAQ
\r
135 // rec.SetEquipmentIdMap("EquipmentIdMap.data");
\r
137 // Detector options if any
\r
138 rec.SetOption("ITS","cosmics,onlyITS");
\r
139 rec.SetOption("MUON","SAVEDIGITS");
\r
140 rec.SetOption("TPC","OldRCUFormat");
\r
141 rec.SetOption("PHOS","OldRCUFormat");
\r
143 // To be enabled when CTP readout starts
\r
144 rec.SetFillTriggerESD(kFALSE);
\r
146 // all events in one single file
\r
147 rec.SetNumberOfEventsPerFile(-1);
\r
149 // switch off cleanESD
\r
150 rec.SetCleanESD(kFALSE);
\r
152 // rec.SetEventRange(0,15);
\r
153 // AliLog::SetGlobalDebugLevel(2);
\r
155 rec.SetRunQA(kFALSE);
\r
159 //cout << "-----------------------------------------------------------------" << endl;
\r
160 //cout << "-----------------------------------------------------------------" << endl;
\r
161 //cout << "--------- Reconstruction Completed. Start merging QAs -----------" << endl;
\r
162 //cout << "-----------------------------------------------------------------" << endl;
\r
163 //cout << "-----------------------------------------------------------------" << endl;
\r
164 //AliQADataMakerSteer qas;
\r