source: tags/Mars-V0.8.7pre/mtemp/mmpi/MApplySupercuts.h

Last change on this file was 6681, checked in by mazin, 20 years ago
*** empty log message ***
File size: 2.5 KB
Line 
1#ifndef MARS_MApplySupercuts
2#define MARS_MApplySupercuts
3
4#ifndef MARS_MTask
5#include "MTask.h"
6#endif
7
8#ifndef MARS_MHadronness
9#include "MHadronness.h"
10#endif
11
12class MGeomCamMagic;
13class MParList;
14class MRawEvtHeader;
15class MRawRunHeader;
16class MSupercuts;
17class MHillas;
18class MHillasSrc;
19class MHadronness;
20class MHFindSignificance;
21class MEnergyEst;
22class TH1F;
23
24class MApplySupercuts : public MTask
25{
26 private:
27
28 // Constant to convert size in photoelectrons to photons
29 static const Float_t kPhe2Ph = 0.18;
30 static const Double_t kHadronHadronness = 0.75;
31 static const Double_t kGammaHadronness = 0.25;
32 static const Double_t fDistOffset = 0.9;
33 static const Double_t fSizeOffset = 3000.;
34
35 Bool_t fPhe;
36 Bool_t fPlot;
37 Double_t fLengthUp[8];
38 Double_t fLengthLo[8];
39 Double_t fWidthUp[8];
40 Double_t fWidthLo[8];
41 Double_t fDistUp[8];
42 Double_t fDistLo[8];
43 Double_t fAlphaMin; // Minimum alpha of background region (deg)
44 Double_t fAlphaMax; // Maximum alpha of background region (deg)
45 Double_t fAlphaSignal; // Maximum alpha of signal region (deg - Min=0)
46 Int_t fDegree; // Degree of polinomial interpolating function
47 Double_t fSizeUp;
48 Double_t fSizeLow;
49
50 TString fSCFilename;
51
52 MGeomCamMagic *fGeom;
53 MRawRunHeader *fRunHeader;
54 MRawEvtHeader *fEvtHeader;
55 MSupercuts *fSupercuts;
56 MHillas *fHillas;
57 MHillasSrc *fHillasSrc;
58
59 TH1F *fAlpha;
60 MHadronness *fHadronness;
61 MHFindSignificance *fHFindSigma;
62 MEnergyEst *fEnergyEst;
63
64 Double_t CalcLimit(Double_t *a, Double_t ls, Double_t ls2, Double_t dd2);
65
66 Int_t PreProcess(MParList *pList);
67 Int_t Process();
68 Int_t PostProcess();
69
70 public:
71 MApplySupercuts(const char *name=0, const char *title=0);
72
73 void SetPhotoelectrons() { fPhe = kTRUE; }
74 void SetPhotons() { fPhe = kFALSE; }
75 void SetSCFilename(TString filename) { fSCFilename = filename; }
76 void SetPrintOutSignificance(Double_t bgalphamin, Double_t bgalphamax,
77 Double_t alphasig, Int_t kDegree);
78 void SetPlotON() { fPlot = kTRUE; };
79 void SetPlotOFF() { fPlot = kFALSE; };
80 void SetBGAlphaMin(Double_t alphamin) { fAlphaMin=alphamin; SetPlotON(); };
81 void SetBGAlphaMax(Double_t alphamax) { fAlphaMax=alphamax; SetPlotON(); };
82 void SetAlphaSig(Double_t alphasig) { fAlphaSignal=alphasig; SetPlotON(); };
83 void SetPolDegree(Int_t deg) { fDegree=deg; SetPlotON(); };
84 void SetPlotSizeLow(Double_t size) { fSizeLow = size; };
85 void SetPlotSizeUp(Double_t size) { fSizeUp = size; };
86
87 ClassDef(MApplySupercuts, 1) // Task to apply supercuts
88};
89
90#endif
91
Note: See TracBrowser for help on using the repository browser.