ROOT logo
void MakeITSRecoParam_2010(AliRecoParam::EventSpecie_t default=AliRecoParam::kLowMult, const char* cdbURI="local://") {
//========================================================================
//
// Steering macro for ITS reconstruction parameters
//
// Author: A.Dainese
// Contact: andrea.dainese@lnl.infn.it
//
//========================================================================


  const char* macroname = "MakeITSRecoParam_2010.C";

  // Activate CDB storage and load geometry from CDB
  AliCDBManager* cdb = AliCDBManager::Instance();
  cdb->SetDefaultStorage(cdbURI);
  
  TObjArray *recoParamArray = new TObjArray();

  {
    AliITSRecoParam * itsRecoParam = AliITSRecoParam::GetCosmicTestParam();
    // find independently ITS SA tracks 
    itsRecoParam->SetSAUseAllClusters();
    itsRecoParam->SetMinNPointsSA(2);
    itsRecoParam->SetOuterStartLayerSA(AliITSgeomTGeo::GetNLayers()-2);

    // to maximize efficiency
    itsRecoParam->SetAllowProlongationWithEmptyRoad();
    
    // larger seach windows for SA (in case of large misalignments)
    itsRecoParam->SetNLoopsSA(33);
    itsRecoParam->SetFactorSAWindowSizes(20);
    
    // additional error due to misal (B off)
    itsRecoParam->SetClusterMisalErrorY(1.0,1.0,1.0,1.0,1.0,1.0); // [cm]
    itsRecoParam->SetClusterMisalErrorZ(1.0,1.0,1.0,1.0,1.0,1.0); // [cm]
    // additional error due to misal (B on)
    itsRecoParam->SetClusterMisalErrorYBOn(0.0,0.0,0.1,0.1,0.1,0.1); // [cm]
    itsRecoParam->SetClusterMisalErrorZBOn(0.1,0.1,0.1,0.1,0.1,0.1); // [cm]

    itsRecoParam->SetClusterErrorsParam(2);
    itsRecoParam->SetFindV0s(kFALSE);
    itsRecoParam->SetAddVirtualClustersInDeadZone(kFALSE);
    itsRecoParam->SetUseAmplitudeInfo(kFALSE);
    itsRecoParam->SetEventSpecie(AliRecoParam::kCosmic);
    itsRecoParam->SetTitle("Cosmic");
    recoParamArray->AddLast(itsRecoParam);
  }
  {
    AliITSRecoParam * itsRecoParam = AliITSRecoParam::GetLowFluxParam();
    itsRecoParam->SetClusterErrorsParam(2);

    // find independently ITS SA tracks 
    itsRecoParam->SetSAUseAllClusters();
    itsRecoParam->SetOuterStartLayerSA(2);

    itsRecoParam->SetAllowProlongationWithEmptyRoad(kTRUE);
    
    // larger seach windows for SA (in case of large misalignments)
    itsRecoParam->SetFactorSAWindowSizes(2);
    
    // Misalignment syst errors decided at ITS meeting 25.03.2010
    // Errors in Z reduced on 11.10.2010 for SPD and SDD
    // additional error due to misal (B off)
    itsRecoParam->SetClusterMisalErrorY(0.0010,0.0010,0.0300,0.0300,0.0020,0.0020); // [cm]
    itsRecoParam->SetClusterMisalErrorZ(0.0050,0.0050,0.0050,0.0050,0.1000,0.1000); // [cm]
    // additional error due to misal (B on)
    itsRecoParam->SetClusterMisalErrorYBOn(0.0010,0.0030,0.0500,0.0500,0.0020,0.0020); // [cm]
    itsRecoParam->SetClusterMisalErrorZBOn(0.0050,0.0050,0.0050,0.0050,0.1000,0.1000); // [cm]
    //----

    // SDD configuration 
    itsRecoParam->SetUseSDDCorrectionMaps(kTRUE); // changed 30.04.2010
    itsRecoParam->SetUseSDDClusterSizeSelection(kTRUE);
    itsRecoParam->SetMinClusterChargeSDD(30.);
    itsRecoParam->SetUseUnfoldingInClusterFinderSDD(kFALSE);

    // Plane Efficiency evaluation with tracklets Method
    itsRecoParam->SetIPlanePlaneEff(-1);
    itsRecoParam->SetComputePlaneEff(kTRUE,kFALSE);
    itsRecoParam->SetUseTrackletsPlaneEff(kTRUE);
    itsRecoParam->SetTrackleterPhiWindowL2(0.07);
    itsRecoParam->SetTrackleterZetaWindowL2(0.4);
    itsRecoParam->SetTrackleterPhiWindowL1(0.10);
    itsRecoParam->SetTrackleterZetaWindowL1(0.6);
    itsRecoParam->SetUpdateOncePerEventPlaneEff(kTRUE);
    itsRecoParam->SetMinContVtxPlaneEff(3);
    // itsRecoParam->SetOptTrackletsPlaneEff(kTRUE); // activate it for MC (very important) !
    // Removal of tracklets reconstructed in the SPD overlaps 
    // 
    itsRecoParam->SetTrackleterRemoveClustersFromOverlaps(kTRUE);
    itsRecoParam->SetTrackleterPhiWindow(0.08);
    itsRecoParam->SetTrackleterThetaWindow(0.025);
    itsRecoParam->SetTrackleterScaleDThetaBySin2T(kTRUE);
    //
    // V0 finder (A. Marin)
    itsRecoParam->GetESDV0Params()->SetMaxPidProbPionForb(0.9);

    //******************************************************************

    itsRecoParam->SetEventSpecie(AliRecoParam::kLowMult);
    itsRecoParam->SetTitle("LowMult");
    recoParamArray->AddLast(itsRecoParam);
  }
  {
    AliITSRecoParam * itsRecoParam = AliITSRecoParam::GetHighFluxParam();
    itsRecoParam->SetClusterErrorsParam(2);

    // find independently ITS SA tracks for nContrSPD<50
    itsRecoParam->SetSAUseAllClusters();
    itsRecoParam->SetMaxSPDcontrForSAToUseAllClusters(50);

    itsRecoParam->SetImproveWithVertex(kTRUE);
    // Misalignment syst errors decided at ITS meeting 25.03.2010
    // additional error due to misal (B off)
    itsRecoParam->SetClusterMisalErrorY(0.0010,0.0010,0.0100,0.0100,0.0020,0.0020); // [cm]
    itsRecoParam->SetClusterMisalErrorZ(0.0100,0.0100,0.0100,0.0100,0.0500,0.0500); // [cm]
    // additional error due to misal (B on)
    itsRecoParam->SetClusterMisalErrorYBOn(0.0010,0.0030,0.0100,0.0100,0.0020,0.0020); // [cm]
    itsRecoParam->SetClusterMisalErrorZBOn(0.0050,0.0050,0.0050,0.0050,0.1000,0.1000); // [cm]
    //----

    //Vertexer Z
    itsRecoParam->SetVertexerZ();


    // tracklets
    itsRecoParam->SetTrackleterPhiWindowL2(0.07);
    itsRecoParam->SetTrackleterZetaWindowL2(0.4);
    itsRecoParam->SetTrackleterPhiWindowL1(0.10);
    itsRecoParam->SetTrackleterZetaWindowL1(0.6);
    //
    itsRecoParam->SetTrackleterPhiWindow(0.06);
    itsRecoParam->SetTrackleterThetaWindow(0.025);
    itsRecoParam->SetTrackleterScaleDThetaBySin2T(kTRUE);
    //
    // Removal of tracklets reconstructed in the SPD overlaps 
    itsRecoParam->SetTrackleterRemoveClustersFromOverlaps(kTRUE);

    // SDD configuration 
    itsRecoParam->SetUseSDDCorrectionMaps(kTRUE); 
    itsRecoParam->SetUseSDDClusterSizeSelection(kTRUE);
    itsRecoParam->SetMinClusterChargeSDD(30.);
    itsRecoParam->SetUseUnfoldingInClusterFinderSDD(kFALSE);

    itsRecoParam->SetEventSpecie(AliRecoParam::kHighMult);
    itsRecoParam->SetTitle("HighMult");
    recoParamArray->AddLast(itsRecoParam);
  }

  // Set the default
  Bool_t defaultIsSet = kFALSE;
  for(Int_t i =0; i < recoParamArray->GetEntriesFast(); i++) {
    AliDetectorRecoParam *param = (AliDetectorRecoParam *)recoParamArray->UncheckedAt(i);
    if (!param) continue;
    if (default & param->GetEventSpecie()) {
      param->SetAsDefault();
      defaultIsSet = kTRUE;
    }
  }

  if (!defaultIsSet) {
    Error(macroname,"The default reconstruction parameters are not set! Exiting...");
    return;
  }

  // save in CDB storage
  AliCDBMetaData *md= new AliCDBMetaData();
  md->SetResponsible("Andrea Dainese");
  md->SetComment("Reconstruction parameters ITS.");
  md->SetAliRootVersion(gSystem->Getenv("ARVERSION"));
  md->SetBeamPeriod(0);
  AliCDBId id("ITS/Calib/RecoParam",0,AliCDBRunRange::Infinity());
  cdb->GetDefaultStorage()->Put(recoParamArray,id, md);

  return;
}

 MakeITSRecoParam_2010.C:1
 MakeITSRecoParam_2010.C:2
 MakeITSRecoParam_2010.C:3
 MakeITSRecoParam_2010.C:4
 MakeITSRecoParam_2010.C:5
 MakeITSRecoParam_2010.C:6
 MakeITSRecoParam_2010.C:7
 MakeITSRecoParam_2010.C:8
 MakeITSRecoParam_2010.C:9
 MakeITSRecoParam_2010.C:10
 MakeITSRecoParam_2010.C:11
 MakeITSRecoParam_2010.C:12
 MakeITSRecoParam_2010.C:13
 MakeITSRecoParam_2010.C:14
 MakeITSRecoParam_2010.C:15
 MakeITSRecoParam_2010.C:16
 MakeITSRecoParam_2010.C:17
 MakeITSRecoParam_2010.C:18
 MakeITSRecoParam_2010.C:19
 MakeITSRecoParam_2010.C:20
 MakeITSRecoParam_2010.C:21
 MakeITSRecoParam_2010.C:22
 MakeITSRecoParam_2010.C:23
 MakeITSRecoParam_2010.C:24
 MakeITSRecoParam_2010.C:25
 MakeITSRecoParam_2010.C:26
 MakeITSRecoParam_2010.C:27
 MakeITSRecoParam_2010.C:28
 MakeITSRecoParam_2010.C:29
 MakeITSRecoParam_2010.C:30
 MakeITSRecoParam_2010.C:31
 MakeITSRecoParam_2010.C:32
 MakeITSRecoParam_2010.C:33
 MakeITSRecoParam_2010.C:34
 MakeITSRecoParam_2010.C:35
 MakeITSRecoParam_2010.C:36
 MakeITSRecoParam_2010.C:37
 MakeITSRecoParam_2010.C:38
 MakeITSRecoParam_2010.C:39
 MakeITSRecoParam_2010.C:40
 MakeITSRecoParam_2010.C:41
 MakeITSRecoParam_2010.C:42
 MakeITSRecoParam_2010.C:43
 MakeITSRecoParam_2010.C:44
 MakeITSRecoParam_2010.C:45
 MakeITSRecoParam_2010.C:46
 MakeITSRecoParam_2010.C:47
 MakeITSRecoParam_2010.C:48
 MakeITSRecoParam_2010.C:49
 MakeITSRecoParam_2010.C:50
 MakeITSRecoParam_2010.C:51
 MakeITSRecoParam_2010.C:52
 MakeITSRecoParam_2010.C:53
 MakeITSRecoParam_2010.C:54
 MakeITSRecoParam_2010.C:55
 MakeITSRecoParam_2010.C:56
 MakeITSRecoParam_2010.C:57
 MakeITSRecoParam_2010.C:58
 MakeITSRecoParam_2010.C:59
 MakeITSRecoParam_2010.C:60
 MakeITSRecoParam_2010.C:61
 MakeITSRecoParam_2010.C:62
 MakeITSRecoParam_2010.C:63
 MakeITSRecoParam_2010.C:64
 MakeITSRecoParam_2010.C:65
 MakeITSRecoParam_2010.C:66
 MakeITSRecoParam_2010.C:67
 MakeITSRecoParam_2010.C:68
 MakeITSRecoParam_2010.C:69
 MakeITSRecoParam_2010.C:70
 MakeITSRecoParam_2010.C:71
 MakeITSRecoParam_2010.C:72
 MakeITSRecoParam_2010.C:73
 MakeITSRecoParam_2010.C:74
 MakeITSRecoParam_2010.C:75
 MakeITSRecoParam_2010.C:76
 MakeITSRecoParam_2010.C:77
 MakeITSRecoParam_2010.C:78
 MakeITSRecoParam_2010.C:79
 MakeITSRecoParam_2010.C:80
 MakeITSRecoParam_2010.C:81
 MakeITSRecoParam_2010.C:82
 MakeITSRecoParam_2010.C:83
 MakeITSRecoParam_2010.C:84
 MakeITSRecoParam_2010.C:85
 MakeITSRecoParam_2010.C:86
 MakeITSRecoParam_2010.C:87
 MakeITSRecoParam_2010.C:88
 MakeITSRecoParam_2010.C:89
 MakeITSRecoParam_2010.C:90
 MakeITSRecoParam_2010.C:91
 MakeITSRecoParam_2010.C:92
 MakeITSRecoParam_2010.C:93
 MakeITSRecoParam_2010.C:94
 MakeITSRecoParam_2010.C:95
 MakeITSRecoParam_2010.C:96
 MakeITSRecoParam_2010.C:97
 MakeITSRecoParam_2010.C:98
 MakeITSRecoParam_2010.C:99
 MakeITSRecoParam_2010.C:100
 MakeITSRecoParam_2010.C:101
 MakeITSRecoParam_2010.C:102
 MakeITSRecoParam_2010.C:103
 MakeITSRecoParam_2010.C:104
 MakeITSRecoParam_2010.C:105
 MakeITSRecoParam_2010.C:106
 MakeITSRecoParam_2010.C:107
 MakeITSRecoParam_2010.C:108
 MakeITSRecoParam_2010.C:109
 MakeITSRecoParam_2010.C:110
 MakeITSRecoParam_2010.C:111
 MakeITSRecoParam_2010.C:112
 MakeITSRecoParam_2010.C:113
 MakeITSRecoParam_2010.C:114
 MakeITSRecoParam_2010.C:115
 MakeITSRecoParam_2010.C:116
 MakeITSRecoParam_2010.C:117
 MakeITSRecoParam_2010.C:118
 MakeITSRecoParam_2010.C:119
 MakeITSRecoParam_2010.C:120
 MakeITSRecoParam_2010.C:121
 MakeITSRecoParam_2010.C:122
 MakeITSRecoParam_2010.C:123
 MakeITSRecoParam_2010.C:124
 MakeITSRecoParam_2010.C:125
 MakeITSRecoParam_2010.C:126
 MakeITSRecoParam_2010.C:127
 MakeITSRecoParam_2010.C:128
 MakeITSRecoParam_2010.C:129
 MakeITSRecoParam_2010.C:130
 MakeITSRecoParam_2010.C:131
 MakeITSRecoParam_2010.C:132
 MakeITSRecoParam_2010.C:133
 MakeITSRecoParam_2010.C:134
 MakeITSRecoParam_2010.C:135
 MakeITSRecoParam_2010.C:136
 MakeITSRecoParam_2010.C:137
 MakeITSRecoParam_2010.C:138
 MakeITSRecoParam_2010.C:139
 MakeITSRecoParam_2010.C:140
 MakeITSRecoParam_2010.C:141
 MakeITSRecoParam_2010.C:142
 MakeITSRecoParam_2010.C:143
 MakeITSRecoParam_2010.C:144
 MakeITSRecoParam_2010.C:145
 MakeITSRecoParam_2010.C:146
 MakeITSRecoParam_2010.C:147
 MakeITSRecoParam_2010.C:148
 MakeITSRecoParam_2010.C:149
 MakeITSRecoParam_2010.C:150
 MakeITSRecoParam_2010.C:151
 MakeITSRecoParam_2010.C:152
 MakeITSRecoParam_2010.C:153
 MakeITSRecoParam_2010.C:154
 MakeITSRecoParam_2010.C:155
 MakeITSRecoParam_2010.C:156
 MakeITSRecoParam_2010.C:157
 MakeITSRecoParam_2010.C:158
 MakeITSRecoParam_2010.C:159
 MakeITSRecoParam_2010.C:160
 MakeITSRecoParam_2010.C:161
 MakeITSRecoParam_2010.C:162
 MakeITSRecoParam_2010.C:163
 MakeITSRecoParam_2010.C:164
 MakeITSRecoParam_2010.C:165
 MakeITSRecoParam_2010.C:166
 MakeITSRecoParam_2010.C:167
 MakeITSRecoParam_2010.C:168
 MakeITSRecoParam_2010.C:169
 MakeITSRecoParam_2010.C:170
 MakeITSRecoParam_2010.C:171
 MakeITSRecoParam_2010.C:172
 MakeITSRecoParam_2010.C:173
 MakeITSRecoParam_2010.C:174
 MakeITSRecoParam_2010.C:175
 MakeITSRecoParam_2010.C:176
 MakeITSRecoParam_2010.C:177
 MakeITSRecoParam_2010.C:178
 MakeITSRecoParam_2010.C:179