Modifications in CMake* files to export all required headers.
[u/mrichter/AliRoot.git] / HMPID / AliHMPIDRecoParamV1.cxx
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
30 ClassImp(AliHMPIDRecoParamV1)
31
32 //_____________________________________________________________________________
33 AliHMPIDRecoParamV1::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 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
44 AliHMPIDRecoParamV1::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 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
58 AliHMPIDRecoParamV1& AliHMPIDRecoParamV1::operator=(const AliHMPIDRecoParamV1 &p)
59 {
60 //
61 // assign. operator
62   if(this!=&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];
69   }
70   return *this;
71 }
72 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
73 AliHMPIDRecoParamV1::~AliHMPIDRecoParamV1() 
74 {
75   //
76   // dtor
77   //  
78 }
79 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
80 AliHMPIDRecoParamV1 *AliHMPIDRecoParamV1::GetLowFluxParam(){
81   //
82   // Set HMPID Reco Params for Low Flux environment
83   //
84   AliHMPIDRecoParamV1 *hmpParam = new AliHMPIDRecoParamV1;
85   hmpParam->fHmpRecoMode = kTRUE;                                                     //kTRUE = normal reco. kFLASE = HTA
86   hmpParam->fHmpUserCut[0] = 3;                                                       //HMPID Module 0 User DAQ Sigma cut
87   hmpParam->fHmpUserCut[1] = 3;                                                       //HMPID Module 1 User DAQ Sigma cut
88   hmpParam->fHmpUserCut[2] = 3;                                                       //HMPID Module 2 User DAQ Sigma cut
89   hmpParam->fHmpUserCut[3] = 3;                                                       //HMPID Module 3 User DAQ Sigma cut
90   hmpParam->fHmpUserCut[4] = 3;                                                       //HMPID Module 4 User DAQ Sigma cut
91   hmpParam->fHmpUserCut[5] = 3;                                                       //HMPID Module 5 User DAQ Sigma cut
92   hmpParam->fHmpUserCut[6] = 3;                                                       //HMPID Module 6 User DAQ Sigma cut
93   hmpParam->fHmpFixedDistCut=kTRUE;                                                   //HMPID fixed (kTRUE) or parameterized distance cut (kFALSE)
94   hmpParam->fHmpTrackMatchingDist = 3.0;                                              //HMPID Track Matching distance cut
95   for(Int_t iPol=0;iPol<5;iPol++) hmpParam->fHmpTrackMatchingDistParas[iPol]=1;       //Prevision for momentum dependen track matching
96   hmpParam->SetName("HMP Low Flux");
97   hmpParam->SetTitle("HMP Low Flux");
98   return hmpParam;
99     
100 }
101 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
102 AliHMPIDRecoParamV1 *AliHMPIDRecoParamV1::GetHighFluxParam(){
103   //
104   // Set HMPID Reco Params for Low Flux environment
105   //
106   AliHMPIDRecoParamV1 *hmpParam = new AliHMPIDRecoParamV1;
107   hmpParam->fHmpRecoMode = kTRUE;                                                       //kTRUE = normal reco. kFLASE = HTA
108   hmpParam->fHmpUserCut[0] = 3;                                                         //HMPID Module 0 User DAQ Sigma cut
109   hmpParam->fHmpUserCut[1] = 3;                                                         //HMPID Module 1 User DAQ Sigma cut
110   hmpParam->fHmpUserCut[2] = 3;                                                         //HMPID Module 2 User DAQ Sigma cut
111   hmpParam->fHmpUserCut[3] = 3;                                                         //HMPID Module 3 User DAQ Sigma cut
112   hmpParam->fHmpUserCut[4] = 3;                                                         //HMPID Module 4 User DAQ Sigma cut
113   hmpParam->fHmpUserCut[5] = 3;                                                         //HMPID Module 5 User DAQ Sigma cut
114   hmpParam->fHmpUserCut[6] = 3;                                                         //HMPID Module 6 User DAQ Sigma cut
115   hmpParam->fHmpFixedDistCut=kTRUE;                                                     //HMPID fixed (kTRUE) or parameterized distance cut (kFALSE)
116   hmpParam->fHmpTrackMatchingDist = 1.0;                                                //HMPID Track Matching distance cut
117   for(Int_t iPol=0;iPol<5;iPol++) hmpParam->fHmpTrackMatchingDistParas[iPol]=1;         //Prevision for momentum dependen track matching
118   hmpParam->SetName("HMP High Flux");
119   hmpParam->SetTitle("HMP High Flux");
120   return hmpParam;
121     
122 }
123 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
124 AliHMPIDRecoParamV1 *AliHMPIDRecoParamV1::GetCosmicParam(){
125   //
126   // Set HMPID Reco Params for Low Flux environment
127   //
128   AliHMPIDRecoParamV1 *hmpParam = new AliHMPIDRecoParamV1;
129   hmpParam->fHmpRecoMode = kTRUE;                                                                   //kTRUE = normal reco. kFLASE = HTA
130   hmpParam->fHmpUserCut[0] = 3;                                                                     //HMPID Module 0 User DAQ Sigma cut
131   hmpParam->fHmpUserCut[1] = 3;                                                                     //HMPID Module 1 User DAQ Sigma cut
132   hmpParam->fHmpUserCut[2] = 3;                                                                     //HMPID Module 2 User DAQ Sigma cut
133   hmpParam->fHmpUserCut[3] = 3;                                                                     //HMPID Module 3 User DAQ Sigma cut
134   hmpParam->fHmpUserCut[4] = 3;                                                                     //HMPID Module 4 User DAQ Sigma cut
135   hmpParam->fHmpUserCut[5] = 3;                                                                     //HMPID Module 5 User DAQ Sigma cut
136   hmpParam->fHmpUserCut[6] = 3;                                                                     //HMPID Module 6 User DAQ Sigma cut
137   hmpParam->fHmpFixedDistCut=kTRUE;                                                                 //HMPID fixed (kTRUE) or parameterized distance cut (kFALSE)
138   hmpParam->fHmpTrackMatchingDist = 4.0;                                                            //HMPID Track Matching distance cut
139   for(Int_t iPol=0;iPol<5;iPol++) hmpParam->fHmpTrackMatchingDistParas[iPol]=1;                     //Prevision for momentum dependen track matching
140   hmpParam->SetName("HMP Cosmic ");
141   hmpParam->SetTitle("HMP Cosmic");
142   return hmpParam;
143     
144 }
145 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
146 void AliHMPIDRecoParamV1::PrintParameters() const
147 {
148   //
149   // Printing of the used HMPID reconstruction parameters
150   //
151    AliInfo(Form("%s",AliHMPIDRecoParamV1::GetName()));
152    AliInfo(Form("IsDefault: %d",AliHMPIDRecoParamV1::IsDefault()));
153    AliInfo(Form(" Running HMPID Reco: %d (1=Standard, 0=HTA)",fHmpRecoMode));
154    AliInfo(Form(" Is track matching distance fixed (1) or momentum dependent (0): %d",fHmpFixedDistCut));
155    AliInfo(Form(" HMPID track matching distance cut: %.3lf",fHmpTrackMatchingDist));
156    for(Int_t iCh=AliHMPIDParam::kMinCh;iCh<=AliHMPIDParam::kMaxCh;iCh++)
157     AliInfo(Form(" HMPID Chamber: %d User DAQ Sigma cut: %d",iCh,fHmpUserCut[iCh]));
158    for(Int_t iPol=0;iPol<5;iPol++) 
159      AliInfo(Form(" HMPID momentum dependent distnce parameters: param[%d]=%lf",iPol,fHmpTrackMatchingDistParas[iPol]));
160   
161 }