MAcro to buid the AliITSRecoParam object to be used for p-p 2009 data (A. Dainese)
[u/mrichter/AliRoot.git] / ITS / MakeITSRecoParam_pp2009.C
CommitLineData
72bfc8dd 1void MakeITSRecoParam_pp2009(AliRecoParam::EventSpecie_t default=AliRecoParam::kLowMult) {
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 if(!cdb->IsDefaultStorageSet()) cdb->SetDefaultStorage("raw://");
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 param->SetSAUseAllClusters();
46 param->SetOuterStartLayerSA(AliITSgeomTGeo::GetNLayers()-2);
47
48 // to maximize efficiency
49 param->SetAllowProlongationWithEmptyRoad();
50
51 // larger seach windows for SA (in case of large misalignments)
52 param->SetNLoopsSA(33);
53 param->SetFactorSAWindowSizes(20);
54
55 // additional error due to misal (B off)
56 param->SetClusterMisalErrorY(1.0,1.0,1.0,1.0,1.0,1.0); // [cm]
57 param->SetClusterMisalErrorZ(1.0,1.0,1.0,1.0,1.0,1.0); // [cm]
58 // additional error due to misal (B on)
59 param->SetClusterMisalErrorYBOn(0.0,0.0,0.1,0.1,0.1,0.1); // [cm]
60 param->SetClusterMisalErrorZBOn(0.1,0.1,0.1,0.1,0.1,0.1); // [cm]
61
62 // SDD configuration
63 param->fUseSDDCorrectionMaps = kFALSE;
64 param->fUseSDDClusterSizeSelection=kTRUE;
65 param->fMinClusterChargeSDD=30.;
66
67 //******************************************************************
68
69 itsRecoParam->SetEventSpecie(AliRecoParam::kLowMult);
70 recoParamArray->AddLast(itsRecoParam);
71 }
72 {
73 AliITSRecoParam * itsRecoParam = AliITSRecoParam::GetHighFluxParam();
74 itsRecoParam->SetClusterErrorsParam(2);
75 itsRecoParam->SetEventSpecie(AliRecoParam::kHighMult);
76 recoParamArray->AddLast(itsRecoParam);
77 }
78
79 // Set the default
80 Bool_t defaultIsSet = kFALSE;
81 for(Int_t i =0; i < recoParamArray->GetEntriesFast(); i++) {
82 AliDetectorRecoParam *param = (AliDetectorRecoParam *)recoParamArray->UncheckedAt(i);
83 if (!param) continue;
84 if (default & param->GetEventSpecie()) {
85 param->SetAsDefault();
86 defaultIsSet = kTRUE;
87 }
88 }
89
90 if (!defaultIsSet) {
91 Error(macroname,"The default reconstruction parameters are not set! Exiting...");
92 return;
93 }
94
95 // save in CDB storage
96 AliCDBMetaData *md= new AliCDBMetaData();
97 md->SetResponsible("Andrea Dainese");
98 md->SetComment("Reconstruction parameters ITS. Use large misal errors for cosmics and lowflux, 18 Nov 2009");
99 md->SetAliRootVersion(gSystem->Getenv("ARVERSION"));
100 md->SetBeamPeriod(0);
101 AliCDBId id("ITS/Calib/RecoParam",0,AliCDBRunRange::Infinity());
102 cdb->GetDefaultStorage()->Put(recoParamArray,id, md);
103
104 return;
105}
106
107