Savannah bug 59091 (A. Dainese)
[u/mrichter/AliRoot.git] / ITS / MakeITSRecoParam_pp2009.C
CommitLineData
8fdc5b78 1void 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