]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/MakeITSRecoParam_2010.C
Fixing ITS circular dependecies
[u/mrichter/AliRoot.git] / ITS / MakeITSRecoParam_2010.C
CommitLineData
b373143f 1void MakeITSRecoParam_2010(AliRecoParam::EventSpecie_t default=AliRecoParam::kLowMult, const char* cdbURI="local://") {
50f91c8b 2//========================================================================
3//
4// Steering macro for ITS reconstruction parameters
5//
6// Author: A.Dainese
7// Contact: andrea.dainese@lnl.infn.it
8//
9//========================================================================
10
11
12 const char* macroname = "MakeITSRecoParam_2010.C";
13
14 // Activate CDB storage and load geometry from CDB
15 AliCDBManager* cdb = AliCDBManager::Instance();
16 cdb->SetDefaultStorage(cdbURI);
17
18 TObjArray *recoParamArray = new TObjArray();
19
20 {
21 AliITSRecoParam * itsRecoParam = AliITSRecoParam::GetCosmicTestParam();
22 // find independently ITS SA tracks
23 itsRecoParam->SetSAUseAllClusters();
24 itsRecoParam->SetMinNPointsSA(2);
25 itsRecoParam->SetOuterStartLayerSA(AliITSgeomTGeo::GetNLayers()-2);
26
27 // to maximize efficiency
28 itsRecoParam->SetAllowProlongationWithEmptyRoad();
29
30 // larger seach windows for SA (in case of large misalignments)
31 itsRecoParam->SetNLoopsSA(33);
32 itsRecoParam->SetFactorSAWindowSizes(20);
33
34 // additional error due to misal (B off)
35 itsRecoParam->SetClusterMisalErrorY(1.0,1.0,1.0,1.0,1.0,1.0); // [cm]
36 itsRecoParam->SetClusterMisalErrorZ(1.0,1.0,1.0,1.0,1.0,1.0); // [cm]
37 // additional error due to misal (B on)
38 itsRecoParam->SetClusterMisalErrorYBOn(0.0,0.0,0.1,0.1,0.1,0.1); // [cm]
39 itsRecoParam->SetClusterMisalErrorZBOn(0.1,0.1,0.1,0.1,0.1,0.1); // [cm]
40
41 itsRecoParam->SetClusterErrorsParam(2);
42 itsRecoParam->SetFindV0s(kFALSE);
43 itsRecoParam->SetAddVirtualClustersInDeadZone(kFALSE);
44 itsRecoParam->SetUseAmplitudeInfo(kFALSE);
45 itsRecoParam->SetEventSpecie(AliRecoParam::kCosmic);
8227519f 46 itsRecoParam->SetTitle("Cosmic");
50f91c8b 47 recoParamArray->AddLast(itsRecoParam);
48 }
49 {
50 AliITSRecoParam * itsRecoParam = AliITSRecoParam::GetLowFluxParam();
51 itsRecoParam->SetClusterErrorsParam(2);
52
53 // find independently ITS SA tracks
54 itsRecoParam->SetSAUseAllClusters();
55 itsRecoParam->SetOuterStartLayerSA(2);
56
57 itsRecoParam->SetAllowProlongationWithEmptyRoad(kTRUE);
58
59 // larger seach windows for SA (in case of large misalignments)
60 itsRecoParam->SetFactorSAWindowSizes(2);
61
62 // Misalignment syst errors decided at ITS meeting 25.03.2010
09660eee 63 // Errors in Z reduced on 11.10.2010 for SPD and SDD
50f91c8b 64 // additional error due to misal (B off)
65 itsRecoParam->SetClusterMisalErrorY(0.0010,0.0010,0.0300,0.0300,0.0020,0.0020); // [cm]
09660eee 66 itsRecoParam->SetClusterMisalErrorZ(0.0050,0.0050,0.0050,0.0050,0.1000,0.1000); // [cm]
50f91c8b 67 // additional error due to misal (B on)
b373143f 68 itsRecoParam->SetClusterMisalErrorYBOn(0.0010,0.0030,0.0500,0.0500,0.0020,0.0020); // [cm]
09660eee 69 itsRecoParam->SetClusterMisalErrorZBOn(0.0050,0.0050,0.0050,0.0050,0.1000,0.1000); // [cm]
50f91c8b 70 //----
71
72 // SDD configuration
b373143f 73 itsRecoParam->SetUseSDDCorrectionMaps(kTRUE); // changed 30.04.2010
50f91c8b 74 itsRecoParam->SetUseSDDClusterSizeSelection(kTRUE);
75 itsRecoParam->SetMinClusterChargeSDD(30.);
c4619c66 76 itsRecoParam->SetUseUnfoldingInClusterFinderSDD(kFALSE);
50f91c8b 77
78 // Plane Efficiency evaluation with tracklets Method
79 itsRecoParam->SetIPlanePlaneEff(-1);
80 itsRecoParam->SetComputePlaneEff(kTRUE,kFALSE);
81 itsRecoParam->SetUseTrackletsPlaneEff(kTRUE);
82 itsRecoParam->SetTrackleterPhiWindowL2(0.07);
83 itsRecoParam->SetTrackleterZetaWindowL2(0.4);
84 itsRecoParam->SetTrackleterPhiWindowL1(0.10);
85 itsRecoParam->SetTrackleterZetaWindowL1(0.6);
86 itsRecoParam->SetUpdateOncePerEventPlaneEff(kTRUE);
87 itsRecoParam->SetMinContVtxPlaneEff(3);
88 // itsRecoParam->SetOptTrackletsPlaneEff(kTRUE); // activate it for MC (very important) !
89 // Removal of tracklets reconstructed in the SPD overlaps
f544ef33 90 //
50f91c8b 91 itsRecoParam->SetTrackleterRemoveClustersFromOverlaps(kTRUE);
f544ef33 92 itsRecoParam->SetTrackleterPhiWindow(0.08);
93 itsRecoParam->SetTrackleterThetaWindow(0.025);
94 itsRecoParam->SetTrackleterScaleDThetaBySin2T(kTRUE);
95 //
5b7f4963 96 // V0 finder (A. Marin)
97 itsRecoParam->GetESDV0Params()->SetMaxPidProbPionForb(0.9);
98
50f91c8b 99 //******************************************************************
100
101 itsRecoParam->SetEventSpecie(AliRecoParam::kLowMult);
8227519f 102 itsRecoParam->SetTitle("LowMult");
50f91c8b 103 recoParamArray->AddLast(itsRecoParam);
104 }
105 {
106 AliITSRecoParam * itsRecoParam = AliITSRecoParam::GetHighFluxParam();
107 itsRecoParam->SetClusterErrorsParam(2);
8227519f 108
109 // find independently ITS SA tracks for nContrSPD<50
110 itsRecoParam->SetSAUseAllClusters();
111 itsRecoParam->SetMaxSPDcontrForSAToUseAllClusters(50);
112
333d86cb 113 itsRecoParam->SetImproveWithVertex(kTRUE);
114 // Misalignment syst errors decided at ITS meeting 25.03.2010
115 // additional error due to misal (B off)
37637839 116 itsRecoParam->SetClusterMisalErrorY(0.0010,0.0010,0.0100,0.0100,0.0020,0.0020); // [cm]
b5a6fb7f 117 itsRecoParam->SetClusterMisalErrorZ(0.0100,0.0100,0.0100,0.0100,0.0500,0.0500); // [cm]
333d86cb 118 // additional error due to misal (B on)
37637839 119 itsRecoParam->SetClusterMisalErrorYBOn(0.0010,0.0030,0.0100,0.0100,0.0020,0.0020); // [cm]
8227519f 120 itsRecoParam->SetClusterMisalErrorZBOn(0.0050,0.0050,0.0050,0.0050,0.1000,0.1000); // [cm]
333d86cb 121 //----
326555aa 122
008e8516 123 //Vertexer Z
124 itsRecoParam->SetVertexerZ();
125
326555aa 126
127 // tracklets
128 itsRecoParam->SetTrackleterPhiWindowL2(0.07);
129 itsRecoParam->SetTrackleterZetaWindowL2(0.4);
130 itsRecoParam->SetTrackleterPhiWindowL1(0.10);
131 itsRecoParam->SetTrackleterZetaWindowL1(0.6);
778c8b71 132 //
133 itsRecoParam->SetTrackleterPhiWindow(0.06);
134 itsRecoParam->SetTrackleterThetaWindow(0.025);
778c8b71 135 itsRecoParam->SetTrackleterScaleDThetaBySin2T(kTRUE);
136 //
326555aa 137 // Removal of tracklets reconstructed in the SPD overlaps
138 itsRecoParam->SetTrackleterRemoveClustersFromOverlaps(kTRUE);
139
8227519f 140 // SDD configuration
d9c6c6ea 141 itsRecoParam->SetUseSDDCorrectionMaps(kTRUE);
8227519f 142 itsRecoParam->SetUseSDDClusterSizeSelection(kTRUE);
143 itsRecoParam->SetMinClusterChargeSDD(30.);
144 itsRecoParam->SetUseUnfoldingInClusterFinderSDD(kFALSE);
145
50f91c8b 146 itsRecoParam->SetEventSpecie(AliRecoParam::kHighMult);
8227519f 147 itsRecoParam->SetTitle("HighMult");
50f91c8b 148 recoParamArray->AddLast(itsRecoParam);
149 }
150
151 // Set the default
152 Bool_t defaultIsSet = kFALSE;
153 for(Int_t i =0; i < recoParamArray->GetEntriesFast(); i++) {
154 AliDetectorRecoParam *param = (AliDetectorRecoParam *)recoParamArray->UncheckedAt(i);
155 if (!param) continue;
156 if (default & param->GetEventSpecie()) {
157 param->SetAsDefault();
158 defaultIsSet = kTRUE;
159 }
160 }
161
162 if (!defaultIsSet) {
163 Error(macroname,"The default reconstruction parameters are not set! Exiting...");
164 return;
165 }
166
167 // save in CDB storage
168 AliCDBMetaData *md= new AliCDBMetaData();
169 md->SetResponsible("Andrea Dainese");
170 md->SetComment("Reconstruction parameters ITS.");
171 md->SetAliRootVersion(gSystem->Getenv("ARVERSION"));
172 md->SetBeamPeriod(0);
173 AliCDBId id("ITS/Calib/RecoParam",0,AliCDBRunRange::Infinity());
174 cdb->GetDefaultStorage()->Put(recoParamArray,id, md);
175
176 return;
177}
178