1 | #ifndef MARS_MMuonCalibParCalc
|
---|
2 | #define MARS_MMuonCalibParCalc
|
---|
3 |
|
---|
4 | #ifndef MARS_MTask
|
---|
5 | #include "MTask.h"
|
---|
6 | #endif
|
---|
7 |
|
---|
8 | class MMuonSearchPar;
|
---|
9 | class MMuonCalibPar;
|
---|
10 | class MSrcPosCam;
|
---|
11 | class MGeomCam;
|
---|
12 | class MCerPhotEvt;
|
---|
13 |
|
---|
14 | class MMuonCalibParCalc : public MTask
|
---|
15 | {
|
---|
16 | private:
|
---|
17 | MGeomCam *fGeomCam;
|
---|
18 | MCerPhotEvt *fCerPhotEvt;
|
---|
19 | MMuonCalibPar *fMuonCalibPar;
|
---|
20 | MMuonSearchPar *fMuonSearchPar;
|
---|
21 |
|
---|
22 | Float_t fMargin; // margin to evaluate muons [mm]. The defaut value is 60 mm, corresponding to 0.2 deg. This value can be changed by using the function of SetMargin
|
---|
23 | Float_t fArcPhiThres; // The threshold value to define arc phi
|
---|
24 | Float_t fArcWidthThres; // The threshold value to define arc width
|
---|
25 | Bool_t fEnableImpactCalc; // If true, the impact calculation will be done, which consumes a lot of time.
|
---|
26 | Bool_t fDisablePreCuts; // If true, the pre cuts to select muons for the calibration will be disabled.
|
---|
27 |
|
---|
28 | Float_t fPreCuts[5]; // The values for pre cuts.
|
---|
29 |
|
---|
30 | Int_t PreProcess(MParList *plist);
|
---|
31 | Int_t Process();
|
---|
32 |
|
---|
33 | TString fNameCerPhot;
|
---|
34 |
|
---|
35 | public:
|
---|
36 | MMuonCalibParCalc(const char *name=NULL, const char *title=NULL);
|
---|
37 |
|
---|
38 | void SetMargin(Float_t margin) { fMargin = margin; }
|
---|
39 | void SetArcPhiThres(Float_t thres) { fArcPhiThres = thres; }
|
---|
40 | void SetArcWidthThres(Float_t thres) { fArcWidthThres = thres; }
|
---|
41 | void EnableImpactCalc() { fEnableImpactCalc = kTRUE; }
|
---|
42 | void DisablePreCuts() { fDisablePreCuts = kTRUE; }
|
---|
43 | void SetPreCuts(Float_t radcutlow, Float_t radcuthigh, Float_t devcuthigh,
|
---|
44 | Float_t musizecutlow, Float_t arcphicutlow);
|
---|
45 |
|
---|
46 | void SetNameCerPhotEvt(const char *name) { fNameCerPhot = name; }
|
---|
47 |
|
---|
48 | void FillHist();
|
---|
49 | void CalcPhi();
|
---|
50 | void CalcImpact(Int_t effbinnum, Float_t startfitval, Float_t endfitval);
|
---|
51 | Float_t CalcWidth();
|
---|
52 | Int_t Calc(const Float_t *cuts);
|
---|
53 |
|
---|
54 | ClassDef(MMuonCalibParCalc, 0) // task to calculate muon parameters
|
---|
55 | };
|
---|
56 |
|
---|
57 | #endif
|
---|
58 |
|
---|