Update master to aliroot
[u/mrichter/AliRoot.git] / ITS / MakeITSRecoParam.C
1 void MakeITSRecoParam(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.C";
13
14   // Activate CDB storage and load geometry from CDB
15   AliCDBManager* cdb = AliCDBManager::Instance();
16   if(!cdb->IsDefaultStorageSet()) cdb->SetDefaultStorage("local://OCDB");
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     itsRecoParam->SetEventSpecie(AliRecoParam::kLowMult);
43     // Plane Efficiency evaluation with tracklets Method
44     itsRecoParam->SetIPlanePlaneEff(-1);
45     itsRecoParam->SetComputePlaneEff(kTRUE,kFALSE);
46     itsRecoParam->SetUseTrackletsPlaneEff(kTRUE);
47     itsRecoParam->SetTrackleterPhiWindowL2(0.07);
48     itsRecoParam->SetTrackleterZetaWindowL2(0.4);
49     itsRecoParam->SetTrackleterPhiWindowL1(0.10);
50     itsRecoParam->SetTrackleterZetaWindowL1(0.6);
51     itsRecoParam->SetUpdateOncePerEventPlaneEff(kTRUE);
52     itsRecoParam->SetMinContVtxPlaneEff(3);
53     itsRecoParam->SetOptTrackletsPlaneEff(kTRUE);
54     recoParamArray->AddLast(itsRecoParam);
55   }
56   {
57     AliITSRecoParam * itsRecoParam = AliITSRecoParam::GetHighFluxParam();
58     itsRecoParam->SetClusterErrorsParam(2);
59     itsRecoParam->SetEventSpecie(AliRecoParam::kHighMult);
60     recoParamArray->AddLast(itsRecoParam);
61   }
62
63   // Set the default
64   Bool_t defaultIsSet = kFALSE;
65   for(Int_t i =0; i < recoParamArray->GetEntriesFast(); i++) {
66     AliDetectorRecoParam *param = (AliDetectorRecoParam *)recoParamArray->UncheckedAt(i);
67     if (!param) continue;
68     if (default & param->GetEventSpecie()) {
69       param->SetAsDefault();
70       defaultIsSet = kTRUE;
71     }
72   }
73
74   if (!defaultIsSet) {
75     Error(macroname,"The default reconstruction parameters are not set! Exiting...");
76     return;
77   }
78
79   // save in CDB storage
80   AliCDBMetaData *md= new AliCDBMetaData();
81   md->SetResponsible("Andrea Dainese");
82   md->SetComment("Reconstruction parameters ITS");
83   md->SetAliRootVersion(gSystem->Getenv("ARVERSION"));
84   md->SetBeamPeriod(0);
85   AliCDBId id("ITS/Calib/RecoParam",0,AliCDBRunRange::Infinity());
86   cdb->GetDefaultStorage()->Put(recoParamArray,id, md);
87
88   return;
89 }
90