HYDRA_development_version
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
hmdctrackfitpar.h
Go to the documentation of this file.
1 #ifndef HMDCTRACKFITPAR_H
2 #define HMDCTRACKFITPAR_H
3 #include "TArrayF.h"
4 #include "TArrayD.h"
5 #include "TArrayI.h"
6 #include "hparcond.h"
7 
8 class HParamList;
9 
10 class HMdcTrackFitPar : public HParCond {
11 protected:
12 
13 
14  Double_t cutWeight ;
15  Int_t tofFlag ;
16  Int_t doTargScan ;
17 
18  Double_t minTimeOffset ; // Time offset cut
19  Double_t maxTimeOffset ; // -/-
20  Int_t minCellsNum ;
21  Int_t chi2CutFlag ; // kTRUE - do cut for funct., else for chi2/ndf
22  Double_t totalChi2Cut ; // default value for funct. cut
23  Double_t chi2PerNdfCut ; // default value for chi2/ndf cut
24 
25  // Tukey weight constants:
26  Int_t useTukeyFlag ;
27  Double_t cnWs ; //2.54*2.54;
28  Double_t cn2s ; //4.19*4.19;
29  Double_t cn4s ; //3.26*3.26;
30  Double_t minSig2 ;
32  Double_t minWeight ; // wt[time]=(wt[time]<minWeight) ? 0.:1.;
33  Double_t maxChi2 ; /*36.;6.0*/ // wt[time]=(chi2[time]>maxChi2) ? 0.:1.;
34 
35  Double_t minTOffsetIter ; // if(timeOffset<minTOffsetIter) timeOffset=minTOffsetIter
36 
37  // Fit parameters for derivatives calc.:
38  Double_t funCt1 ; // if(fun0 < funCt1)
39  Double_t stepD1 ; // stepD = stepD1;
40  Double_t funCt2 ; // else if(fun0 < funCt2)
41  Double_t stepD2 ; // stepD = stepD2;
42  Double_t stepD3 ; // else stepD = stepD3;
43 
44 
45 
46 public:
47  HMdcTrackFitPar(const Char_t* name = "MdcTrackFitPar",
48  const Char_t* title = "parameters for Dubna track fitter",
49  const Char_t* context = "MdcTrackFitParProduction");
51 
52  Double_t getCutWeight () { return cutWeight ; }
53  Int_t getTofFlag () { return tofFlag ; }
54  Bool_t getDoTargScan () { return (Bool_t) doTargScan ; }
55 
56  Double_t getMinTimeOffset () { return minTimeOffset ; }
57  Double_t getMaxTimeOffset () { return maxTimeOffset ; }
58  Int_t getMinCellsNum () { return minCellsNum ; }
59 
60  Bool_t getChi2CutFlag () { return (Bool_t )chi2CutFlag ; }
61  Double_t getTotalChi2Cut () { return totalChi2Cut ; }
62  Double_t getChi2PerNdfCut () { return chi2PerNdfCut ; }
63 
64  Bool_t getUseTukeyFlag () { return (Bool_t) useTukeyFlag ; }
65  Double_t getCnWs () { return cnWs ; }
66  Double_t getCn2s () { return cn2s ; }
67  Double_t getCn4s () { return cn4s ; }
68  Double_t getMinSig2 () { return minSig2 ; }
69  Int_t getMaxNFilterIter() { return maxNFilterIter ; }
70  Double_t getMinWeight () { return minWeight ; }
71  Double_t getMaxChi2 () { return maxChi2 ; }
72 
73  Double_t getMinTOffsetIter() { return minTOffsetIter ; }
74 
75  Double_t getFunCt1 () { return funCt1 ; }
76  Double_t getStepD1 () { return stepD1 ; }
77  Double_t getFunCt2 () { return funCt2 ; }
78  Double_t getStepD2 () { return stepD2 ; }
79  Double_t getStepD3 () { return stepD3 ; }
80 
81  void setCutWeight (Double_t cut ){ cutWeight = cut ; }
82  void setTofFlag (Int_t flag ){ tofFlag = flag ; }
83  void setDoTargScan (Bool_t scan ){ doTargScan = scan ; }
84 
85  void setMinTimeOffset (Double_t off ){ minTimeOffset = off ; }
86  void setMaxTimeOffset (Double_t off ){ maxTimeOffset = off ; }
87  void setMinCellsNum (Int_t min ){ minCellsNum = min ; }
88 
89  void setChi2CutFlag (Bool_t cut ){ chi2CutFlag = cut ; }
90  void setTotalChi2Cut (Double_t cut ){ totalChi2Cut = cut ; }
91  void setChi2PerNdfCut (Double_t cut ){ chi2PerNdfCut = cut ; }
92 
93  void setUseTukeyFlag (Bool_t flag ){ useTukeyFlag = flag ; }
94  void setCnWs (Double_t cut ){ cnWs = cut ; }
95  void setCn2s (Double_t cut ){ cn2s = cut ; }
96  void setCn4s (Double_t cut ){ cn4s = cut ; }
97  void setMinSig2 (Double_t min ){ minSig2 = min ; }
98  void setMaxNFilterIter(Int_t max ){ maxNFilterIter = max ; }
99  void setMinWeight (Double_t min ){ minWeight = min ; }
100  void setMaxChi2 (Double_t max ){ maxChi2 = max ; }
101 
102  void setMinTOffsetIter(Double_t min ){ minTOffsetIter = min ; }
103 
104  void setFunCt1 (Double_t val ){ funCt1 = val ; }
105  void setStepD1 (Double_t val ){ stepD1 = val ; }
106  void setFunCt2 (Double_t val ){ funCt2 = val ; }
107  void setStepD2 (Double_t val ){ stepD2 = val ; }
108  void setStepD3 (Double_t val ){ stepD3 = val ; }
109 
110  void putParams(HParamList*);
111  Bool_t getParams(HParamList*);
112  void clear();
113  void printParam();
114  ClassDef(HMdcTrackFitPar,1) // Container for the MDC Digitizer parameters
115 };
116 #endif /*!HMDCTRACKFITPAR_H*/
void setTofFlag(Int_t flag)
void setCn4s(Double_t cut)
void setFunCt2(Double_t val)
Bool_t getDoTargScan()
Double_t getTotalChi2Cut()
HMdcTrackFitPar(const Char_t *name="MdcTrackFitPar", const Char_t *title="parameters for Dubna track fitter", const Char_t *context="MdcTrackFitParProduction")
Double_t maxTimeOffset
Double_t getMinTOffsetIter()
void setStepD3(Double_t val)
Double_t getMinWeight()
Int_t getMinCellsNum()
void setDoTargScan(Bool_t scan)
void setUseTukeyFlag(Bool_t flag)
Int_t getMaxNFilterIter()
Bool_t getParams(HParamList *)
Double_t minTOffsetIter
void setMinSig2(Double_t min)
Bool_t getChi2CutFlag()
void setFunCt1(Double_t val)
Double_t getMinTimeOffset()
Double_t getStepD3()
Double_t getCnWs()
Double_t getMaxChi2()
Double_t totalChi2Cut
void setChi2CutFlag(Bool_t cut)
Double_t getFunCt2()
void setMaxTimeOffset(Double_t off)
Double_t getCutWeight()
Double_t getStepD2()
void setStepD1(Double_t val)
Double_t getMinSig2()
void putParams(HParamList *)
void setMinCellsNum(Int_t min)
void setMaxChi2(Double_t max)
Double_t getCn2s()
Double_t getMaxTimeOffset()
void setTotalChi2Cut(Double_t cut)
void setMinWeight(Double_t min)
Double_t getChi2PerNdfCut()
void setCnWs(Double_t cut)
void setMinTOffsetIter(Double_t min)
void setMinTimeOffset(Double_t off)
Double_t chi2PerNdfCut
Bool_t getUseTukeyFlag()
void setCn2s(Double_t cut)
void setMaxNFilterIter(Int_t max)
void setChi2PerNdfCut(Double_t cut)
Double_t minTimeOffset
Double_t getCn4s()
void setStepD2(Double_t val)
void setCutWeight(Double_t cut)
Double_t getStepD1()
Double_t getFunCt1()