8fdc5b78 |
1 | void MakeITSRecoParam_pp2009(AliRecoParam::EventSpecie_t default=AliRecoParam::kLowMult, const char* cdbURI) { |
72bfc8dd |
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_pp2009.C"; |
13 | |
14 | // Activate CDB storage and load geometry from CDB |
15 | AliCDBManager* cdb = AliCDBManager::Instance(); |
8fdc5b78 |
16 | cdb->SetDefaultStorage(cdbURI); |
72bfc8dd |
17 | |
18 | TObjArray *recoParamArray = new TObjArray(); |
19 | |
20 | { |
21 | AliITSRecoParam * itsRecoParam = AliITSRecoParam::GetCosmicTestParam(); |
22 | itsRecoParam->SetFactorSAWindowSizes(20); |
23 | itsRecoParam->SetClusterErrorsParam(2); |
24 | itsRecoParam->SetFindV0s(kFALSE); |
25 | itsRecoParam->SetAddVirtualClustersInDeadZone(kFALSE); |
26 | itsRecoParam->SetUseAmplitudeInfo(kFALSE); |
27 | // In case we want to switch off a layer |
28 | // itsRecoParam->SetLayerToSkip(<N>); |
29 | // itsRecoParam->SetLayerToSkip(4); |
30 | // itsRecoParam->SetLayerToSkip(5); |
31 | // itsRecoParam->SetLayerToSkip(2); |
32 | // itsRecoParam->SetLayerToSkip(3); |
33 | //itsRecoParam->SetSAOnePointTracks(); |
34 | itsRecoParam->SetClusterMisalError(0.1); // [cm] |
35 | itsRecoParam->SetSAUseAllClusters(); |
8b281fd1 |
36 | itsRecoParam->SetMinNPointsSA(2); |
72bfc8dd |
37 | itsRecoParam->SetEventSpecie(AliRecoParam::kCosmic); |
38 | recoParamArray->AddLast(itsRecoParam); |
39 | } |
40 | { |
41 | AliITSRecoParam * itsRecoParam = AliITSRecoParam::GetLowFluxParam(); |
42 | itsRecoParam->SetClusterErrorsParam(2); |
8b281fd1 |
43 | //****** FIRST PHYSICS 2009 ********************* |
72bfc8dd |
44 | |
8b281fd1 |
45 | /* // First Collisions 23.11.2009 (same as COSMICS 2009) |
72bfc8dd |
46 | // find independently ITS SA tracks |
8fdc5b78 |
47 | itsRecoParam->SetSAUseAllClusters(); |
48 | itsRecoParam->SetOuterStartLayerSA(AliITSgeomTGeo::GetNLayers()-2); |
72bfc8dd |
49 | |
50 | // to maximize efficiency |
8fdc5b78 |
51 | itsRecoParam->SetAllowProlongationWithEmptyRoad(); |
72bfc8dd |
52 | |
53 | // larger seach windows for SA (in case of large misalignments) |
8fdc5b78 |
54 | itsRecoParam->SetNLoopsSA(33); |
55 | itsRecoParam->SetFactorSAWindowSizes(20); |
72bfc8dd |
56 | |
57 | // additional error due to misal (B off) |
8fdc5b78 |
58 | itsRecoParam->SetClusterMisalErrorY(1.0,1.0,1.0,1.0,1.0,1.0); // [cm] |
59 | itsRecoParam->SetClusterMisalErrorZ(1.0,1.0,1.0,1.0,1.0,1.0); // [cm] |
72bfc8dd |
60 | // additional error due to misal (B on) |
8fdc5b78 |
61 | itsRecoParam->SetClusterMisalErrorYBOn(0.0,0.0,0.1,0.1,0.1,0.1); // [cm] |
62 | itsRecoParam->SetClusterMisalErrorZBOn(0.1,0.1,0.1,0.1,0.1,0.1); // [cm] |
8b281fd1 |
63 | */ |
64 | |
65 | //---- Collisions since 03.12.2009 |
66 | // find independently ITS SA tracks |
67 | itsRecoParam->SetSAUseAllClusters(); |
68 | itsRecoParam->SetOuterStartLayerSA(2); |
69 | |
ac1a9cf1 |
70 | // to maximize efficiency (change to kTRUE on 15.12.2009) |
71 | //itsRecoParam->SetAllowProlongationWithEmptyRoad(kFALSE); |
72 | itsRecoParam->SetAllowProlongationWithEmptyRoad(kTRUE); |
8b281fd1 |
73 | |
74 | // larger seach windows for SA (in case of large misalignments) |
75 | itsRecoParam->SetFactorSAWindowSizes(2); |
76 | |
77 | // additional error due to misal (B off) |
78 | itsRecoParam->SetClusterMisalErrorY(0.01,0.01,0.1,0.1,0.1,0.1); // [cm] |
79 | itsRecoParam->SetClusterMisalErrorZ(0.01,0.01,0.1,0.1,0.1,0.1); // [cm] |
80 | // additional error due to misal (B on) |
81 | itsRecoParam->SetClusterMisalErrorYBOn(0.01,0.01,0.1,0.1,0.1,0.1); // [cm] |
82 | itsRecoParam->SetClusterMisalErrorZBOn(0.01,0.01,0.1,0.1,0.1,0.1); // [cm] |
83 | //---- |
72bfc8dd |
84 | |
85 | // SDD configuration |
8fdc5b78 |
86 | itsRecoParam->SetUseSDDCorrectionMaps(kFALSE); |
87 | itsRecoParam->SetUseSDDClusterSizeSelection(kTRUE); |
88 | itsRecoParam->SetMinClusterChargeSDD(30.); |
666cd6e5 |
89 | |
90 | // Plane Efficiency evaluation with tracklets Method |
91 | itsRecoParam->SetIPlanePlaneEff(-1); |
92 | itsRecoParam->SetComputePlaneEff(kTRUE,kFALSE); |
93 | itsRecoParam->SetUseTrackletsPlaneEff(kTRUE); |
94 | itsRecoParam->SetTrackleterPhiWindowL2(0.07); |
95 | itsRecoParam->SetTrackleterZetaWindowL2(0.4); |
96 | itsRecoParam->SetTrackleterPhiWindowL1(0.10); |
97 | itsRecoParam->SetTrackleterZetaWindowL1(0.6); |
98 | itsRecoParam->SetUpdateOncePerEventPlaneEff(kTRUE); |
99 | itsRecoParam->SetMinContVtxPlaneEff(3); |
100 | // itsRecoParam->SetOptTrackletsPlaneEff(kTRUE); // activate it for MC (very important) ! |
72bfc8dd |
101 | |
102 | //****************************************************************** |
103 | |
104 | itsRecoParam->SetEventSpecie(AliRecoParam::kLowMult); |
105 | recoParamArray->AddLast(itsRecoParam); |
106 | } |
107 | { |
108 | AliITSRecoParam * itsRecoParam = AliITSRecoParam::GetHighFluxParam(); |
109 | itsRecoParam->SetClusterErrorsParam(2); |
110 | itsRecoParam->SetEventSpecie(AliRecoParam::kHighMult); |
111 | recoParamArray->AddLast(itsRecoParam); |
112 | } |
113 | |
114 | // Set the default |
115 | Bool_t defaultIsSet = kFALSE; |
116 | for(Int_t i =0; i < recoParamArray->GetEntriesFast(); i++) { |
117 | AliDetectorRecoParam *param = (AliDetectorRecoParam *)recoParamArray->UncheckedAt(i); |
118 | if (!param) continue; |
119 | if (default & param->GetEventSpecie()) { |
120 | param->SetAsDefault(); |
121 | defaultIsSet = kTRUE; |
122 | } |
123 | } |
124 | |
125 | if (!defaultIsSet) { |
126 | Error(macroname,"The default reconstruction parameters are not set! Exiting..."); |
127 | return; |
128 | } |
129 | |
130 | // save in CDB storage |
131 | AliCDBMetaData *md= new AliCDBMetaData(); |
132 | md->SetResponsible("Andrea Dainese"); |
133 | md->SetComment("Reconstruction parameters ITS. Use large misal errors for cosmics and lowflux, 18 Nov 2009"); |
134 | md->SetAliRootVersion(gSystem->Getenv("ARVERSION")); |
135 | md->SetBeamPeriod(0); |
136 | AliCDBId id("ITS/Calib/RecoParam",0,AliCDBRunRange::Infinity()); |
137 | cdb->GetDefaultStorage()->Put(recoParamArray,id, md); |
138 | |
139 | return; |
140 | } |
141 | |
142 | |