new functionality and new class added
[u/mrichter/AliRoot.git] / HMPID / AliHMPIDRecoParamV1.cxx
CommitLineData
c458aab6 1/**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3 * *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
6 * *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
15
16
17///////////////////////////////////////////////////////////////////////////////
18// //
19// Class to set HMPID reconstruction parameters (normal, HTA, UserCut ... //
20// //
21// //
22///////////////////////////////////////////////////////////////////////////////
23//
24//Email: domenico.dibari@ba.infn.it
25//
26#include "AliLog.h"
27#include "AliHMPIDRecoParamV1.h"
28#include "AliHMPIDParam.h"
29
30ClassImp(AliHMPIDRecoParamV1)
31
32//_____________________________________________________________________________
33AliHMPIDRecoParamV1::AliHMPIDRecoParamV1():AliDetectorRecoParam(),
34 fHmpRecoMode(kTRUE),fHmpFixedDistCut(kTRUE),
35 fHmpTrackMatchingDist(1.0)
36{
37 //
38 // ctor
39 //
40 for(Int_t iCh=AliHMPIDParam::kMinCh;iCh<=AliHMPIDParam::kMaxCh;iCh++) fHmpUserCut[iCh]=3;
41 for(Int_t iPol=0;iPol<5;iPol++) fHmpTrackMatchingDistParas[iPol]=0;
42}
43//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
44AliHMPIDRecoParamV1::AliHMPIDRecoParamV1(const AliHMPIDRecoParamV1 &p):AliDetectorRecoParam(p),
45 fHmpRecoMode(kTRUE),fHmpFixedDistCut(kTRUE),
46 fHmpTrackMatchingDist(1.0)
47{
48 //copy Ctor
49
50 fHmpRecoMode= p.fHmpRecoMode;
51 fHmpFixedDistCut=p.fHmpFixedDistCut;
52 for(Int_t iCh=AliHMPIDParam::kMinCh;iCh<=AliHMPIDParam::kMaxCh;iCh++) fHmpUserCut[iCh]=p.fHmpUserCut[iCh];
53 fHmpTrackMatchingDist=p.fHmpTrackMatchingDist;
54 for(Int_t iPol=0;iPol<5;iPol++) fHmpTrackMatchingDistParas[iPol]=p.fHmpTrackMatchingDistParas[iPol];
55}
56
57//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
58AliHMPIDRecoParamV1& AliHMPIDRecoParamV1::operator=(const AliHMPIDRecoParamV1 &p)
59{
60//
61// assign. operator
62//
63 AliDetectorRecoParam::operator=(p);
64 this->fHmpRecoMode= p.fHmpRecoMode;
65 this->fHmpFixedDistCut=p.fHmpFixedDistCut;
66 for(Int_t iCh=AliHMPIDParam::kMinCh;iCh<=AliHMPIDParam::kMaxCh;iCh++) this->fHmpUserCut[iCh] = p.fHmpUserCut[iCh];
67 this->fHmpTrackMatchingDist=p.fHmpTrackMatchingDist;
68 for(Int_t iPol=0;iPol<5;iPol++) this->fHmpTrackMatchingDistParas[iPol]=p.fHmpTrackMatchingDistParas[iPol];
69 return *this;
70}
71//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
72AliHMPIDRecoParamV1::~AliHMPIDRecoParamV1()
73{
74 //
75 // dtor
76 //
77}
78//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
79AliHMPIDRecoParamV1 *AliHMPIDRecoParamV1::GetLowFluxParam(){
80 //
81 // Set HMPID Reco Params for Low Flux environment
82 //
83 AliHMPIDRecoParamV1 *hmpParam = new AliHMPIDRecoParamV1;
84 hmpParam->fHmpRecoMode = kTRUE; //kTRUE = normal reco. kFLASE = HTA
85 hmpParam->fHmpUserCut[0] = 3; //HMPID Module 0 User DAQ Sigma cut
86 hmpParam->fHmpUserCut[1] = 3; //HMPID Module 1 User DAQ Sigma cut
87 hmpParam->fHmpUserCut[2] = 3; //HMPID Module 2 User DAQ Sigma cut
88 hmpParam->fHmpUserCut[3] = 3; //HMPID Module 3 User DAQ Sigma cut
89 hmpParam->fHmpUserCut[4] = 3; //HMPID Module 4 User DAQ Sigma cut
90 hmpParam->fHmpUserCut[5] = 3; //HMPID Module 5 User DAQ Sigma cut
91 hmpParam->fHmpUserCut[6] = 3; //HMPID Module 6 User DAQ Sigma cut
92 hmpParam->fHmpFixedDistCut=kTRUE; //HMPID fixed (kTRUE) or parameterized distance cut (kFALSE)
93 hmpParam->fHmpTrackMatchingDist = 3.0; //HMPID Track Matching distance cut
94 for(Int_t iPol=0;iPol<5;iPol++) hmpParam->fHmpTrackMatchingDistParas[iPol]=1; //Prevision for momentum dependen track matching
95 hmpParam->SetName("HMP Low Flux");
96 hmpParam->SetTitle("HMP Low Flux");
97 return hmpParam;
98
99}
100//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
101AliHMPIDRecoParamV1 *AliHMPIDRecoParamV1::GetHighFluxParam(){
102 //
103 // Set HMPID Reco Params for Low Flux environment
104 //
105 AliHMPIDRecoParamV1 *hmpParam = new AliHMPIDRecoParamV1;
106 hmpParam->fHmpRecoMode = kTRUE; //kTRUE = normal reco. kFLASE = HTA
107 hmpParam->fHmpUserCut[0] = 3; //HMPID Module 0 User DAQ Sigma cut
108 hmpParam->fHmpUserCut[1] = 3; //HMPID Module 1 User DAQ Sigma cut
109 hmpParam->fHmpUserCut[2] = 3; //HMPID Module 2 User DAQ Sigma cut
110 hmpParam->fHmpUserCut[3] = 3; //HMPID Module 3 User DAQ Sigma cut
111 hmpParam->fHmpUserCut[4] = 3; //HMPID Module 4 User DAQ Sigma cut
112 hmpParam->fHmpUserCut[5] = 3; //HMPID Module 5 User DAQ Sigma cut
113 hmpParam->fHmpUserCut[6] = 3; //HMPID Module 6 User DAQ Sigma cut
114 hmpParam->fHmpFixedDistCut=kTRUE; //HMPID fixed (kTRUE) or parameterized distance cut (kFALSE)
115 hmpParam->fHmpTrackMatchingDist = 1.0; //HMPID Track Matching distance cut
116 for(Int_t iPol=0;iPol<5;iPol++) hmpParam->fHmpTrackMatchingDistParas[iPol]=1; //Prevision for momentum dependen track matching
117 hmpParam->SetName("HMP High Flux");
118 hmpParam->SetTitle("HMP High Flux");
119 return hmpParam;
120
121}
122//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
123AliHMPIDRecoParamV1 *AliHMPIDRecoParamV1::GetCosmicParam(){
124 //
125 // Set HMPID Reco Params for Low Flux environment
126 //
127 AliHMPIDRecoParamV1 *hmpParam = new AliHMPIDRecoParamV1;
128 hmpParam->fHmpRecoMode = kTRUE; //kTRUE = normal reco. kFLASE = HTA
129 hmpParam->fHmpUserCut[0] = 3; //HMPID Module 0 User DAQ Sigma cut
130 hmpParam->fHmpUserCut[1] = 3; //HMPID Module 1 User DAQ Sigma cut
131 hmpParam->fHmpUserCut[2] = 3; //HMPID Module 2 User DAQ Sigma cut
132 hmpParam->fHmpUserCut[3] = 3; //HMPID Module 3 User DAQ Sigma cut
133 hmpParam->fHmpUserCut[4] = 3; //HMPID Module 4 User DAQ Sigma cut
134 hmpParam->fHmpUserCut[5] = 3; //HMPID Module 5 User DAQ Sigma cut
135 hmpParam->fHmpUserCut[6] = 3; //HMPID Module 6 User DAQ Sigma cut
136 hmpParam->fHmpFixedDistCut=kTRUE; //HMPID fixed (kTRUE) or parameterized distance cut (kFALSE)
137 hmpParam->fHmpTrackMatchingDist = 4.0; //HMPID Track Matching distance cut
138 for(Int_t iPol=0;iPol<5;iPol++) hmpParam->fHmpTrackMatchingDistParas[iPol]=1; //Prevision for momentum dependen track matching
139 hmpParam->SetName("HMP Cosmic ");
140 hmpParam->SetTitle("HMP Cosmic");
141 return hmpParam;
142
143}
144//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
145void AliHMPIDRecoParamV1::PrintParameters() const
146{
147 //
148 // Printing of the used HMPID reconstruction parameters
149 //
150 AliInfo(Form("%s",AliHMPIDRecoParamV1::GetName()));
151 AliInfo(Form("IsDefault: %d",AliHMPIDRecoParamV1::IsDefault()));
152 AliInfo(Form(" Running HMPID Reco: %d (1=Standard, 0=HTA)",fHmpRecoMode));
153 AliInfo(Form(" Is track matching distance fixed (1) or momentum dependent (0): %d",fHmpFixedDistCut));
154 AliInfo(Form(" HMPID track matching distance cut: %.3lf",fHmpTrackMatchingDist));
155 for(Int_t iCh=AliHMPIDParam::kMinCh;iCh<=AliHMPIDParam::kMaxCh;iCh++)
156 AliInfo(Form(" HMPID Chamber: %d User DAQ Sigma cut: %d",iCh,fHmpUserCut[iCh]));
157 for(Int_t iPol=0;iPol<5;iPol++)
158 AliInfo(Form(" HMPID momentum dependent distnce parameters: param[%d]=%lf",iPol,fHmpTrackMatchingDistParas[iPol]));
159
160}