]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/MakeITSRecoParam_pp2009.C
Added protection against degenerate covariance matrix; corrected track direction...
[u/mrichter/AliRoot.git] / ITS / MakeITSRecoParam_pp2009.C
1 void MakeITSRecoParam_pp2009(AliRecoParam::EventSpecie_t default=AliRecoParam::kLowMult, const char* cdbURI) {
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();
16   cdb->SetDefaultStorage(cdbURI);
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 
45     itsRecoParam->SetSAUseAllClusters();
46     itsRecoParam->SetOuterStartLayerSA(AliITSgeomTGeo::GetNLayers()-2);
47
48     // to maximize efficiency
49     itsRecoParam->SetAllowProlongationWithEmptyRoad();
50     
51     // larger seach windows for SA (in case of large misalignments)
52     itsRecoParam->SetNLoopsSA(33);
53     itsRecoParam->SetFactorSAWindowSizes(20);
54     
55     // additional error due to misal (B off)
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]
58     // additional error due to misal (B on)
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]
61
62     // SDD configuration 
63     itsRecoParam->SetUseSDDCorrectionMaps(kFALSE);
64     itsRecoParam->SetUseSDDClusterSizeSelection(kTRUE);
65     itsRecoParam->SetMinClusterChargeSDD(30.);
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) !
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