]>
Commit | Line | Data |
---|---|---|
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(); | |
36 | itsRecoParam->SetEventSpecie(AliRecoParam::kCosmic); | |
37 | recoParamArray->AddLast(itsRecoParam); | |
38 | } | |
39 | { | |
40 | AliITSRecoParam * itsRecoParam = AliITSRecoParam::GetLowFluxParam(); | |
41 | itsRecoParam->SetClusterErrorsParam(2); | |
42 | //****** FIRST PHYSICS 2009 (same as COSMICS 2009) ********************* | |
43 | ||
44 | // find independently ITS SA tracks | |
8fdc5b78 | 45 | itsRecoParam->SetSAUseAllClusters(); |
46 | itsRecoParam->SetOuterStartLayerSA(AliITSgeomTGeo::GetNLayers()-2); | |
72bfc8dd | 47 | |
48 | // to maximize efficiency | |
8fdc5b78 | 49 | itsRecoParam->SetAllowProlongationWithEmptyRoad(); |
72bfc8dd | 50 | |
51 | // larger seach windows for SA (in case of large misalignments) | |
8fdc5b78 | 52 | itsRecoParam->SetNLoopsSA(33); |
53 | itsRecoParam->SetFactorSAWindowSizes(20); | |
72bfc8dd | 54 | |
55 | // additional error due to misal (B off) | |
8fdc5b78 | 56 | itsRecoParam->SetClusterMisalErrorY(1.0,1.0,1.0,1.0,1.0,1.0); // [cm] |
57 | itsRecoParam->SetClusterMisalErrorZ(1.0,1.0,1.0,1.0,1.0,1.0); // [cm] | |
72bfc8dd | 58 | // additional error due to misal (B on) |
8fdc5b78 | 59 | itsRecoParam->SetClusterMisalErrorYBOn(0.0,0.0,0.1,0.1,0.1,0.1); // [cm] |
60 | itsRecoParam->SetClusterMisalErrorZBOn(0.1,0.1,0.1,0.1,0.1,0.1); // [cm] | |
72bfc8dd | 61 | |
62 | // SDD configuration | |
8fdc5b78 | 63 | itsRecoParam->SetUseSDDCorrectionMaps(kFALSE); |
64 | itsRecoParam->SetUseSDDClusterSizeSelection(kTRUE); | |
65 | itsRecoParam->SetMinClusterChargeSDD(30.); | |
666cd6e5 | 66 | |
67 | // Plane Efficiency evaluation with tracklets Method | |
68 | itsRecoParam->SetIPlanePlaneEff(-1); | |
69 | itsRecoParam->SetComputePlaneEff(kTRUE,kFALSE); | |
70 | itsRecoParam->SetUseTrackletsPlaneEff(kTRUE); | |
71 | itsRecoParam->SetTrackleterPhiWindowL2(0.07); | |
72 | itsRecoParam->SetTrackleterZetaWindowL2(0.4); | |
73 | itsRecoParam->SetTrackleterPhiWindowL1(0.10); | |
74 | itsRecoParam->SetTrackleterZetaWindowL1(0.6); | |
75 | itsRecoParam->SetUpdateOncePerEventPlaneEff(kTRUE); | |
76 | itsRecoParam->SetMinContVtxPlaneEff(3); | |
77 | // itsRecoParam->SetOptTrackletsPlaneEff(kTRUE); // activate it for MC (very important) ! | |
72bfc8dd | 78 | |
79 | //****************************************************************** | |
80 | ||
81 | itsRecoParam->SetEventSpecie(AliRecoParam::kLowMult); | |
82 | recoParamArray->AddLast(itsRecoParam); | |
83 | } | |
84 | { | |
85 | AliITSRecoParam * itsRecoParam = AliITSRecoParam::GetHighFluxParam(); | |
86 | itsRecoParam->SetClusterErrorsParam(2); | |
87 | itsRecoParam->SetEventSpecie(AliRecoParam::kHighMult); | |
88 | recoParamArray->AddLast(itsRecoParam); | |
89 | } | |
90 | ||
91 | // Set the default | |
92 | Bool_t defaultIsSet = kFALSE; | |
93 | for(Int_t i =0; i < recoParamArray->GetEntriesFast(); i++) { | |
94 | AliDetectorRecoParam *param = (AliDetectorRecoParam *)recoParamArray->UncheckedAt(i); | |
95 | if (!param) continue; | |
96 | if (default & param->GetEventSpecie()) { | |
97 | param->SetAsDefault(); | |
98 | defaultIsSet = kTRUE; | |
99 | } | |
100 | } | |
101 | ||
102 | if (!defaultIsSet) { | |
103 | Error(macroname,"The default reconstruction parameters are not set! Exiting..."); | |
104 | return; | |
105 | } | |
106 | ||
107 | // save in CDB storage | |
108 | AliCDBMetaData *md= new AliCDBMetaData(); | |
109 | md->SetResponsible("Andrea Dainese"); | |
110 | md->SetComment("Reconstruction parameters ITS. Use large misal errors for cosmics and lowflux, 18 Nov 2009"); | |
111 | md->SetAliRootVersion(gSystem->Getenv("ARVERSION")); | |
112 | md->SetBeamPeriod(0); | |
113 | AliCDBId id("ITS/Calib/RecoParam",0,AliCDBRunRange::Infinity()); | |
114 | cdb->GetDefaultStorage()->Put(recoParamArray,id, md); | |
115 | ||
116 | return; | |
117 | } | |
118 | ||
119 |