1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
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 **************************************************************************/
17 ///////////////////////////////////////////////////////////////////////////////
19 // Class to set HMPID reconstruction parameters (normal, HTA, UserCut ... //
22 ///////////////////////////////////////////////////////////////////////////////
24 //Email: domenico.dibari@ba.infn.it
27 #include "AliHMPIDRecoParam.h"
28 #include "AliHMPIDParam.h"
30 ClassImp(AliHMPIDRecoParam)
32 //_____________________________________________________________________________
33 AliHMPIDRecoParam::AliHMPIDRecoParam():AliDetectorRecoParam(),
34 fHmpRecoMode(kTRUE),fHmpFixedDistCut(kTRUE),
35 fHmpTrackMatchingDist(1.0)
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;
43 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
44 AliHMPIDRecoParam::AliHMPIDRecoParam(const AliHMPIDRecoParam &p):AliDetectorRecoParam(p),
45 fHmpRecoMode(kTRUE),fHmpFixedDistCut(kTRUE),
46 fHmpTrackMatchingDist(1.0)
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];
57 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
58 AliHMPIDRecoParam& AliHMPIDRecoParam::operator=(const AliHMPIDRecoParam &p)
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];
71 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
72 AliHMPIDRecoParam::~AliHMPIDRecoParam()
78 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
79 AliHMPIDRecoParam *AliHMPIDRecoParam::GetLowFluxParam(){
81 // Set HMPID Reco Params for Low Flux environment
83 AliHMPIDRecoParam *hmpParam = new AliHMPIDRecoParam;
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");
100 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
101 AliHMPIDRecoParam *AliHMPIDRecoParam::GetHighFluxParam(){
103 // Set HMPID Reco Params for Low Flux environment
105 AliHMPIDRecoParam *hmpParam = new AliHMPIDRecoParam;
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");
122 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
123 AliHMPIDRecoParam *AliHMPIDRecoParam::GetCosmicParam(){
125 // Set HMPID Reco Params for Low Flux environment
127 AliHMPIDRecoParam *hmpParam = new AliHMPIDRecoParam;
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");
144 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
145 void AliHMPIDRecoParam::PrintParameters() const
148 // Printing of the used HMPID reconstruction parameters
150 AliInfo(Form("%s",AliHMPIDRecoParam::GetName()));
151 AliInfo(Form("IsDefault: %d",AliHMPIDRecoParam::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]));