doxy: consider comments after last line
[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) !
891078cd 101 // Removal of tracklets reconstructed in the SPD overlaps
102 itsRecoParam->SetTrackleterRemoveClustersFromOverlaps(kTRUE);
72bfc8dd 103
104 //******************************************************************
105
106 itsRecoParam->SetEventSpecie(AliRecoParam::kLowMult);
107 recoParamArray->AddLast(itsRecoParam);
108 }
109 {
110 AliITSRecoParam * itsRecoParam = AliITSRecoParam::GetHighFluxParam();
111 itsRecoParam->SetClusterErrorsParam(2);
112 itsRecoParam->SetEventSpecie(AliRecoParam::kHighMult);
113 recoParamArray->AddLast(itsRecoParam);
114 }
115
116 // Set the default
117 Bool_t defaultIsSet = kFALSE;
118 for(Int_t i =0; i < recoParamArray->GetEntriesFast(); i++) {
119 AliDetectorRecoParam *param = (AliDetectorRecoParam *)recoParamArray->UncheckedAt(i);
120 if (!param) continue;
121 if (default & param->GetEventSpecie()) {
122 param->SetAsDefault();
123 defaultIsSet = kTRUE;
124 }
125 }
126
127 if (!defaultIsSet) {
128 Error(macroname,"The default reconstruction parameters are not set! Exiting...");
129 return;
130 }
131
132 // save in CDB storage
133 AliCDBMetaData *md= new AliCDBMetaData();
134 md->SetResponsible("Andrea Dainese");
135 md->SetComment("Reconstruction parameters ITS. Use large misal errors for cosmics and lowflux, 18 Nov 2009");
136 md->SetAliRootVersion(gSystem->Getenv("ARVERSION"));
137 md->SetBeamPeriod(0);
138 AliCDBId id("ITS/Calib/RecoParam",0,AliCDBRunRange::Infinity());
139 cdb->GetDefaultStorage()->Put(recoParamArray,id, md);
140
141 return;
142}
143
144