]> git.uio.no Git - u/mrichter/AliRoot.git/blob - test/cosmic/rec.C
1c33adc3bc1536603e7a1908430adf45974401c4
[u/mrichter/AliRoot.git] / test / cosmic / rec.C
1 void rec(const char *filename="raw.root", const Int_t mfield=1)\r
2 {\r
3   /////////////////////////////////////////////////////////////////////////////////////////\r
4   //\r
5   // Second version of the reconstruction\r
6   // script for the 2008 cosmic data (LHC08b) \r
7   //\r
8   /////////////////////////////////////////////////////////////////////////////////////////\r
9   //AliLog::SetGlobalLogLevel(AliLog::kWarning);\r
10   AliLog::SetGlobalLogLevel(AliLog::kError);\r
11 \r
12   gSystem->Load("libRAliEn.so");\r
13   gSystem->Load("libNet.so");\r
14   gSystem->Load("libMonaLisa.so");\r
15   new TMonaLisaWriter(0, "GridAliRoot-rec.C", 0, 0, "global");\r
16   gSystem->Setenv("APMON_INTERVAL", "120");\r
17 \r
18   // Set the CDB storage location\r
19   AliCDBManager * man = AliCDBManager::Instance();\r
20 //     man->SetDefaultStorage("local://$ALICE_ROOT/OCDB");\r
21     man->SetDefaultStorage("alien://folder=/alice/data/2008/LHC08d/OCDB/");\r
22     man->SetSpecificStorage("ITS/Calib/*","local://$ALICE_ROOT/OCDB");\r
23   \r
24   // Example in case a specific CDB storage is needed\r
25   //  man->SetSpecificStorage("ITS/Calib/MapsAnodeSDD","local://$ALICE_ROOT/OCDB");\r
26 \r
27   AliQA::SetQARefStorage("local://$ALICE_ROOT/QAref") ;\r
28 \r
29   // Reconstruction settings\r
30   AliReconstruction rec;\r
31 \r
32   // ITS settings\r
33   AliITSRecoParam * itsRecoParam = AliITSRecoParam::GetCosmicTestParam();\r
34   itsRecoParam->SetFactorSAWindowSizes(20);\r
35   itsRecoParam->SetClusterErrorsParam(2);\r
36   itsRecoParam->SetFindV0s(kFALSE);\r
37   itsRecoParam->SetAddVirtualClustersInDeadZone(kFALSE);\r
38   itsRecoParam->SetUseAmplitudeInfo(kFALSE);\r
39   // In case we want to switch off a layer\r
40   //  itsRecoParam->SetLayerToSkip(<N>);\r
41   //  itsRecoParam->SetLayerToSkip(4);\r
42   //  itsRecoParam->SetLayerToSkip(5);\r
43   itsRecoParam->SetLayerToSkip(2);\r
44   itsRecoParam->SetLayerToSkip(3);\r
45   //itsRecoParam->SetSAOnePointTracks();\r
46   itsRecoParam->SetClusterMisalError(0.1); // [cm]\r
47   itsRecoParam->SetSAUseAllClusters();\r
48   rec.SetRecoParam("ITS",itsRecoParam);\r
49 \r
50   // TPC settings\r
51   //AliLog::SetClassDebugLevel("AliTPCclustererMI",2);\r
52   AliTPCRecoParam * tpcRecoParam = AliTPCRecoParam::GetCosmicTestParam(kFALSE);\r
53   tpcRecoParam->SetTimeInterval(60,940);\r
54   Double_t sysError[5]={0.3,1, 0.3/150., 1./150.,0.3/(150*150.)};\r
55   tpcRecoParam->SetSystematicError(sysError);\r
56   tpcRecoParam->SetMinMaxCutAbs(4.);\r
57   tpcRecoParam->SetMinLeftRightCutAbs(6.);\r
58   tpcRecoParam->SetMinUpDownCutAbs(6.);\r
59   //  tpcRecoParam->Dump();\r
60   rec.SetRecoParam("TPC",tpcRecoParam);\r
61   AliTPCReconstructor::SetStreamLevel(1);\r
62 \r
63   // TRD setting\r
64   // Settings for the TRD Raw Reader\r
65   AliTRDrawStreamBase::SetRawStreamVersion("TB");\r
66   \r
67   // TRD reconstruction params\r
68   AliTRDrecoParam *fTRDrecoParam = AliTRDrecoParam::GetCosmicTestParam();\r
69   rec.SetRecoParam("TRD",fTRDrecoParam);\r
70   AliTRDtrackerV1::SetNTimeBins(30);\r
71 \r
72   // PHOS settings\r
73   AliPHOSRecoParam* recPHOS = new AliPHOSRecoParam();\r
74   recPHOS->SetEMCSubtractPedestals(kTRUE);\r
75   recPHOS->SetEMCMinE(0.05);\r
76   recPHOS->SetEMCClusteringThreshold(0.10);\r
77   rec.SetRecoParam("PHOS",recPHOS);\r
78 \r
79   // T0 settings\r
80   //AliLog::SetModuleDebugLevel("T0", 10);\r
81 \r
82   // MUON settings\r
83   //AliLog::SetClassDebugLevel("AliMUONRawStreamTracker",3);\r
84   AliMUONRecoParam *muonRecoParam = AliMUONRecoParam::GetLowFluxParam();\r
85   muonRecoParam->CombineClusterTrackReco(kTRUE);\r
86   muonRecoParam->SetCalibrationMode("NOGAIN");\r
87   //muonRecoParam->SetClusteringMode("PEAKFIT");\r
88   //muonRecoParam->SetClusteringMode("PEAKCOG");\r
89   muonRecoParam->Print("FULL");\r
90   rec.SetRecoParam("MUON",muonRecoParam);\r
91  \r
92   // Tracking settings\r
93   AliMagF* field;\r
94   if (mfield)\r
95     field = new AliMagF("Maps","Maps", 2, 1., 1., 10., AliMagF::k5kG);\r
96    else\r
97      field = new AliMagF("Maps","Maps", 2, 0., 0., 10., AliMagF::k2kG);\r
98 \r
99   Double_t mostProbPt=0.35;\r
100   AliExternalTrackParam::SetMostProbablePt(mostProbPt);\r
101 \r
102   // AliReconstruction settings\r
103   rec.SetUniformFieldTracking(kFALSE);\r
104   rec.SetWriteESDfriend(kTRUE);\r
105   rec.SetWriteAlignmentData();\r
106   rec.SetInput(filename);\r
107   //  rec.SetRunReconstruction("ALL");\r
108   rec.SetUseTrackingErrorsForAlignment("ITS");\r
109 \r
110   // In case some detectors have to be switched off...\r
111   rec.SetRunReconstruction("ITS TPC TRD TOF HMPID PHOS MUON FMD PMD T0 VZERO ZDC ACORDE");\r
112 \r
113   // Enable vertex finder - it is needed for cosmic track reco\r
114   rec.SetRunVertexFinder(kTRUE);\r
115 \r
116   // To be enabled if some equipment IDs are not set correctly by DAQ\r
117   //  rec.SetEquipmentIdMap("EquipmentIdMap.data");\r
118 \r
119   // Detector options if any\r
120   rec.SetOption("ITS","cosmics");\r
121   rec.SetOption("MUON","SAVEDIGITS");\r
122   rec.SetOption("T0","cosmic");\r
123 \r
124   // Enabled when CTP readout starts\r
125   rec.SetFillTriggerESD(kTRUE);\r
126 \r
127   // all events in one single file\r
128   rec.SetNumberOfEventsPerFile(-1);\r
129 \r
130   // switch off cleanESD\r
131   rec.SetCleanESD(kFALSE);\r
132 \r
133   //rec.SetEventRange(0,15);\r
134 \r
135   rec.SetRunQA(":");\r
136   rec.SetRunGlobalQA(kTRUE);\r
137   AliLog::Flush();\r
138   rec.Run();\r
139 \r
140   //cout << "-----------------------------------------------------------------" << endl;\r
141   //cout << "-----------------------------------------------------------------" << endl;\r
142   //cout << "--------- Reconstruction Completed. Start merging QAs -----------" << endl;\r
143   //cout << "-----------------------------------------------------------------" << endl;\r
144   //cout << "-----------------------------------------------------------------" << endl;\r
145   //AliQADataMakerSteer qas;\r
146   //qas.Merge();\r
147 }\r