ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/


///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// Class to set HMPID reconstruction parameters (normal, HTA, UserCut ...    //
//                                                                           //  
//                                                                           //
///////////////////////////////////////////////////////////////////////////////
//
//Email: domenico.dibari@ba.infn.it
//
#include "AliLog.h"
#include "AliHMPIDRecoParamV1.h"
#include "AliHMPIDParam.h"

ClassImp(AliHMPIDRecoParamV1)

//_____________________________________________________________________________
AliHMPIDRecoParamV1::AliHMPIDRecoParamV1():AliDetectorRecoParam(),   
  fHmpRecoMode(kTRUE),fHmpFixedDistCut(kTRUE),
  fHmpTrackMatchingDist(1.0)
{
  //
  // ctor
  //
  for(Int_t iCh=AliHMPIDParam::kMinCh;iCh<=AliHMPIDParam::kMaxCh;iCh++) fHmpUserCut[iCh]=3;
  for(Int_t iPol=0;iPol<5;iPol++) fHmpTrackMatchingDistParas[iPol]=0;
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
AliHMPIDRecoParamV1::AliHMPIDRecoParamV1(const AliHMPIDRecoParamV1 &p):AliDetectorRecoParam(p),   
    fHmpRecoMode(kTRUE),fHmpFixedDistCut(kTRUE),
    fHmpTrackMatchingDist(1.0)
{ 
   //copy Ctor

   fHmpRecoMode= p.fHmpRecoMode;
   fHmpFixedDistCut=p.fHmpFixedDistCut;
   for(Int_t iCh=AliHMPIDParam::kMinCh;iCh<=AliHMPIDParam::kMaxCh;iCh++) fHmpUserCut[iCh]=p.fHmpUserCut[iCh];
   fHmpTrackMatchingDist=p.fHmpTrackMatchingDist;
   for(Int_t iPol=0;iPol<5;iPol++) fHmpTrackMatchingDistParas[iPol]=p.fHmpTrackMatchingDistParas[iPol];
}

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
AliHMPIDRecoParamV1& AliHMPIDRecoParamV1::operator=(const AliHMPIDRecoParamV1 &p)
{
//
// assign. operator
  if(this!=&p){
    AliDetectorRecoParam::operator=(p);
    this->fHmpRecoMode= p.fHmpRecoMode;
    this->fHmpFixedDistCut=p.fHmpFixedDistCut;
    for(Int_t iCh=AliHMPIDParam::kMinCh;iCh<=AliHMPIDParam::kMaxCh;iCh++) this->fHmpUserCut[iCh] = p.fHmpUserCut[iCh];   
    this->fHmpTrackMatchingDist=p.fHmpTrackMatchingDist;
    for(Int_t iPol=0;iPol<5;iPol++) this->fHmpTrackMatchingDistParas[iPol]=p.fHmpTrackMatchingDistParas[iPol];
  }
  return *this;
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
AliHMPIDRecoParamV1::~AliHMPIDRecoParamV1() 
{
  //
  // dtor
  //  
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
AliHMPIDRecoParamV1 *AliHMPIDRecoParamV1::GetLowFluxParam(){
  //
  // Set HMPID Reco Params for Low Flux environment
  //
  AliHMPIDRecoParamV1 *hmpParam = new AliHMPIDRecoParamV1;
  hmpParam->fHmpRecoMode = kTRUE;                                                     //kTRUE = normal reco. kFLASE = HTA
  hmpParam->fHmpUserCut[0] = 3;                                                       //HMPID Module 0 User DAQ Sigma cut
  hmpParam->fHmpUserCut[1] = 3;                                                       //HMPID Module 1 User DAQ Sigma cut
  hmpParam->fHmpUserCut[2] = 3;                                                       //HMPID Module 2 User DAQ Sigma cut
  hmpParam->fHmpUserCut[3] = 3;                                                       //HMPID Module 3 User DAQ Sigma cut
  hmpParam->fHmpUserCut[4] = 3;                                                       //HMPID Module 4 User DAQ Sigma cut
  hmpParam->fHmpUserCut[5] = 3;                                                       //HMPID Module 5 User DAQ Sigma cut
  hmpParam->fHmpUserCut[6] = 3;                                                       //HMPID Module 6 User DAQ Sigma cut
  hmpParam->fHmpFixedDistCut=kTRUE;                                                   //HMPID fixed (kTRUE) or parameterized distance cut (kFALSE)
  hmpParam->fHmpTrackMatchingDist = 3.0;                                              //HMPID Track Matching distance cut
  for(Int_t iPol=0;iPol<5;iPol++) hmpParam->fHmpTrackMatchingDistParas[iPol]=1;       //Prevision for momentum dependen track matching
  hmpParam->SetName("HMP Low Flux");
  hmpParam->SetTitle("HMP Low Flux");
  return hmpParam;
    
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
AliHMPIDRecoParamV1 *AliHMPIDRecoParamV1::GetHighFluxParam(){
  //
  // Set HMPID Reco Params for Low Flux environment
  //
  AliHMPIDRecoParamV1 *hmpParam = new AliHMPIDRecoParamV1;
  hmpParam->fHmpRecoMode = kTRUE;                                                       //kTRUE = normal reco. kFLASE = HTA
  hmpParam->fHmpUserCut[0] = 3;                                                         //HMPID Module 0 User DAQ Sigma cut
  hmpParam->fHmpUserCut[1] = 3;                                                         //HMPID Module 1 User DAQ Sigma cut
  hmpParam->fHmpUserCut[2] = 3;                                                         //HMPID Module 2 User DAQ Sigma cut
  hmpParam->fHmpUserCut[3] = 3;                                                         //HMPID Module 3 User DAQ Sigma cut
  hmpParam->fHmpUserCut[4] = 3;                                                         //HMPID Module 4 User DAQ Sigma cut
  hmpParam->fHmpUserCut[5] = 3;                                                         //HMPID Module 5 User DAQ Sigma cut
  hmpParam->fHmpUserCut[6] = 3;                                                         //HMPID Module 6 User DAQ Sigma cut
  hmpParam->fHmpFixedDistCut=kTRUE;                                                     //HMPID fixed (kTRUE) or parameterized distance cut (kFALSE)
  hmpParam->fHmpTrackMatchingDist = 1.0;                                                //HMPID Track Matching distance cut
  for(Int_t iPol=0;iPol<5;iPol++) hmpParam->fHmpTrackMatchingDistParas[iPol]=1;         //Prevision for momentum dependen track matching
  hmpParam->SetName("HMP High Flux");
  hmpParam->SetTitle("HMP High Flux");
  return hmpParam;
    
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
AliHMPIDRecoParamV1 *AliHMPIDRecoParamV1::GetCosmicParam(){
  //
  // Set HMPID Reco Params for Low Flux environment
  //
  AliHMPIDRecoParamV1 *hmpParam = new AliHMPIDRecoParamV1;
  hmpParam->fHmpRecoMode = kTRUE;                                                                   //kTRUE = normal reco. kFLASE = HTA
  hmpParam->fHmpUserCut[0] = 3;                                                                     //HMPID Module 0 User DAQ Sigma cut
  hmpParam->fHmpUserCut[1] = 3;                                                                     //HMPID Module 1 User DAQ Sigma cut
  hmpParam->fHmpUserCut[2] = 3;                                                                     //HMPID Module 2 User DAQ Sigma cut
  hmpParam->fHmpUserCut[3] = 3;                                                                     //HMPID Module 3 User DAQ Sigma cut
  hmpParam->fHmpUserCut[4] = 3;                                                                     //HMPID Module 4 User DAQ Sigma cut
  hmpParam->fHmpUserCut[5] = 3;                                                                     //HMPID Module 5 User DAQ Sigma cut
  hmpParam->fHmpUserCut[6] = 3;                                                                     //HMPID Module 6 User DAQ Sigma cut
  hmpParam->fHmpFixedDistCut=kTRUE;                                                                 //HMPID fixed (kTRUE) or parameterized distance cut (kFALSE)
  hmpParam->fHmpTrackMatchingDist = 4.0;                                                            //HMPID Track Matching distance cut
  for(Int_t iPol=0;iPol<5;iPol++) hmpParam->fHmpTrackMatchingDistParas[iPol]=1;                     //Prevision for momentum dependen track matching
  hmpParam->SetName("HMP Cosmic ");
  hmpParam->SetTitle("HMP Cosmic");
  return hmpParam;
    
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
void AliHMPIDRecoParamV1::PrintParameters() const
{
  //
  // Printing of the used HMPID reconstruction parameters
  //
   AliInfo(Form("%s",AliHMPIDRecoParamV1::GetName()));
   AliInfo(Form("IsDefault: %d",AliHMPIDRecoParamV1::IsDefault()));
   AliInfo(Form(" Running HMPID Reco: %d (1=Standard, 0=HTA)",fHmpRecoMode));
   AliInfo(Form(" Is track matching distance fixed (1) or momentum dependent (0): %d",fHmpFixedDistCut));
   AliInfo(Form(" HMPID track matching distance cut: %.3lf",fHmpTrackMatchingDist));
   for(Int_t iCh=AliHMPIDParam::kMinCh;iCh<=AliHMPIDParam::kMaxCh;iCh++)
    AliInfo(Form(" HMPID Chamber: %d User DAQ Sigma cut: %d",iCh,fHmpUserCut[iCh]));
   for(Int_t iPol=0;iPol<5;iPol++) 
     AliInfo(Form(" HMPID momentum dependent distnce parameters: param[%d]=%lf",iPol,fHmpTrackMatchingDistParas[iPol]));
  
}
 AliHMPIDRecoParamV1.cxx:1
 AliHMPIDRecoParamV1.cxx:2
 AliHMPIDRecoParamV1.cxx:3
 AliHMPIDRecoParamV1.cxx:4
 AliHMPIDRecoParamV1.cxx:5
 AliHMPIDRecoParamV1.cxx:6
 AliHMPIDRecoParamV1.cxx:7
 AliHMPIDRecoParamV1.cxx:8
 AliHMPIDRecoParamV1.cxx:9
 AliHMPIDRecoParamV1.cxx:10
 AliHMPIDRecoParamV1.cxx:11
 AliHMPIDRecoParamV1.cxx:12
 AliHMPIDRecoParamV1.cxx:13
 AliHMPIDRecoParamV1.cxx:14
 AliHMPIDRecoParamV1.cxx:15
 AliHMPIDRecoParamV1.cxx:16
 AliHMPIDRecoParamV1.cxx:17
 AliHMPIDRecoParamV1.cxx:18
 AliHMPIDRecoParamV1.cxx:19
 AliHMPIDRecoParamV1.cxx:20
 AliHMPIDRecoParamV1.cxx:21
 AliHMPIDRecoParamV1.cxx:22
 AliHMPIDRecoParamV1.cxx:23
 AliHMPIDRecoParamV1.cxx:24
 AliHMPIDRecoParamV1.cxx:25
 AliHMPIDRecoParamV1.cxx:26
 AliHMPIDRecoParamV1.cxx:27
 AliHMPIDRecoParamV1.cxx:28
 AliHMPIDRecoParamV1.cxx:29
 AliHMPIDRecoParamV1.cxx:30
 AliHMPIDRecoParamV1.cxx:31
 AliHMPIDRecoParamV1.cxx:32
 AliHMPIDRecoParamV1.cxx:33
 AliHMPIDRecoParamV1.cxx:34
 AliHMPIDRecoParamV1.cxx:35
 AliHMPIDRecoParamV1.cxx:36
 AliHMPIDRecoParamV1.cxx:37
 AliHMPIDRecoParamV1.cxx:38
 AliHMPIDRecoParamV1.cxx:39
 AliHMPIDRecoParamV1.cxx:40
 AliHMPIDRecoParamV1.cxx:41
 AliHMPIDRecoParamV1.cxx:42
 AliHMPIDRecoParamV1.cxx:43
 AliHMPIDRecoParamV1.cxx:44
 AliHMPIDRecoParamV1.cxx:45
 AliHMPIDRecoParamV1.cxx:46
 AliHMPIDRecoParamV1.cxx:47
 AliHMPIDRecoParamV1.cxx:48
 AliHMPIDRecoParamV1.cxx:49
 AliHMPIDRecoParamV1.cxx:50
 AliHMPIDRecoParamV1.cxx:51
 AliHMPIDRecoParamV1.cxx:52
 AliHMPIDRecoParamV1.cxx:53
 AliHMPIDRecoParamV1.cxx:54
 AliHMPIDRecoParamV1.cxx:55
 AliHMPIDRecoParamV1.cxx:56
 AliHMPIDRecoParamV1.cxx:57
 AliHMPIDRecoParamV1.cxx:58
 AliHMPIDRecoParamV1.cxx:59
 AliHMPIDRecoParamV1.cxx:60
 AliHMPIDRecoParamV1.cxx:61
 AliHMPIDRecoParamV1.cxx:62
 AliHMPIDRecoParamV1.cxx:63
 AliHMPIDRecoParamV1.cxx:64
 AliHMPIDRecoParamV1.cxx:65
 AliHMPIDRecoParamV1.cxx:66
 AliHMPIDRecoParamV1.cxx:67
 AliHMPIDRecoParamV1.cxx:68
 AliHMPIDRecoParamV1.cxx:69
 AliHMPIDRecoParamV1.cxx:70
 AliHMPIDRecoParamV1.cxx:71
 AliHMPIDRecoParamV1.cxx:72
 AliHMPIDRecoParamV1.cxx:73
 AliHMPIDRecoParamV1.cxx:74
 AliHMPIDRecoParamV1.cxx:75
 AliHMPIDRecoParamV1.cxx:76
 AliHMPIDRecoParamV1.cxx:77
 AliHMPIDRecoParamV1.cxx:78
 AliHMPIDRecoParamV1.cxx:79
 AliHMPIDRecoParamV1.cxx:80
 AliHMPIDRecoParamV1.cxx:81
 AliHMPIDRecoParamV1.cxx:82
 AliHMPIDRecoParamV1.cxx:83
 AliHMPIDRecoParamV1.cxx:84
 AliHMPIDRecoParamV1.cxx:85
 AliHMPIDRecoParamV1.cxx:86
 AliHMPIDRecoParamV1.cxx:87
 AliHMPIDRecoParamV1.cxx:88
 AliHMPIDRecoParamV1.cxx:89
 AliHMPIDRecoParamV1.cxx:90
 AliHMPIDRecoParamV1.cxx:91
 AliHMPIDRecoParamV1.cxx:92
 AliHMPIDRecoParamV1.cxx:93
 AliHMPIDRecoParamV1.cxx:94
 AliHMPIDRecoParamV1.cxx:95
 AliHMPIDRecoParamV1.cxx:96
 AliHMPIDRecoParamV1.cxx:97
 AliHMPIDRecoParamV1.cxx:98
 AliHMPIDRecoParamV1.cxx:99
 AliHMPIDRecoParamV1.cxx:100
 AliHMPIDRecoParamV1.cxx:101
 AliHMPIDRecoParamV1.cxx:102
 AliHMPIDRecoParamV1.cxx:103
 AliHMPIDRecoParamV1.cxx:104
 AliHMPIDRecoParamV1.cxx:105
 AliHMPIDRecoParamV1.cxx:106
 AliHMPIDRecoParamV1.cxx:107
 AliHMPIDRecoParamV1.cxx:108
 AliHMPIDRecoParamV1.cxx:109
 AliHMPIDRecoParamV1.cxx:110
 AliHMPIDRecoParamV1.cxx:111
 AliHMPIDRecoParamV1.cxx:112
 AliHMPIDRecoParamV1.cxx:113
 AliHMPIDRecoParamV1.cxx:114
 AliHMPIDRecoParamV1.cxx:115
 AliHMPIDRecoParamV1.cxx:116
 AliHMPIDRecoParamV1.cxx:117
 AliHMPIDRecoParamV1.cxx:118
 AliHMPIDRecoParamV1.cxx:119
 AliHMPIDRecoParamV1.cxx:120
 AliHMPIDRecoParamV1.cxx:121
 AliHMPIDRecoParamV1.cxx:122
 AliHMPIDRecoParamV1.cxx:123
 AliHMPIDRecoParamV1.cxx:124
 AliHMPIDRecoParamV1.cxx:125
 AliHMPIDRecoParamV1.cxx:126
 AliHMPIDRecoParamV1.cxx:127
 AliHMPIDRecoParamV1.cxx:128
 AliHMPIDRecoParamV1.cxx:129
 AliHMPIDRecoParamV1.cxx:130
 AliHMPIDRecoParamV1.cxx:131
 AliHMPIDRecoParamV1.cxx:132
 AliHMPIDRecoParamV1.cxx:133
 AliHMPIDRecoParamV1.cxx:134
 AliHMPIDRecoParamV1.cxx:135
 AliHMPIDRecoParamV1.cxx:136
 AliHMPIDRecoParamV1.cxx:137
 AliHMPIDRecoParamV1.cxx:138
 AliHMPIDRecoParamV1.cxx:139
 AliHMPIDRecoParamV1.cxx:140
 AliHMPIDRecoParamV1.cxx:141
 AliHMPIDRecoParamV1.cxx:142
 AliHMPIDRecoParamV1.cxx:143
 AliHMPIDRecoParamV1.cxx:144
 AliHMPIDRecoParamV1.cxx:145
 AliHMPIDRecoParamV1.cxx:146
 AliHMPIDRecoParamV1.cxx:147
 AliHMPIDRecoParamV1.cxx:148
 AliHMPIDRecoParamV1.cxx:149
 AliHMPIDRecoParamV1.cxx:150
 AliHMPIDRecoParamV1.cxx:151
 AliHMPIDRecoParamV1.cxx:152
 AliHMPIDRecoParamV1.cxx:153
 AliHMPIDRecoParamV1.cxx:154
 AliHMPIDRecoParamV1.cxx:155
 AliHMPIDRecoParamV1.cxx:156
 AliHMPIDRecoParamV1.cxx:157
 AliHMPIDRecoParamV1.cxx:158
 AliHMPIDRecoParamV1.cxx:159
 AliHMPIDRecoParamV1.cxx:160
 AliHMPIDRecoParamV1.cxx:161