1 | // $Id$ |
---|
2 | // Author: fenu 2011/02/08 |
---|
3 | |
---|
4 | /***************************************************************************** |
---|
5 | * ESAF: Euso Simulation and Analysis Framework * |
---|
6 | * * |
---|
7 | * Id: PmtToShowerReco * |
---|
8 | * Package: <packagename> * |
---|
9 | * Coordinator: <coordinator> * |
---|
10 | * * |
---|
11 | *****************************************************************************/ |
---|
12 | |
---|
13 | #ifndef __PMTTOSHOWERRECO_HH__ |
---|
14 | #define __PMTTOSHOWERRECO_HH__ |
---|
15 | |
---|
16 | #include "euso.hh" |
---|
17 | #include "RecoModule.hh" |
---|
18 | #include "EDetector.hh" |
---|
19 | #include <TObject.h> |
---|
20 | #include <TVector2.h> |
---|
21 | #include "EnergyTypes.hh" |
---|
22 | #include "RecoEvent.hh" |
---|
23 | #include "Atmosphere.hh" |
---|
24 | #include "LowtranRadiativeProcessesCalculator.hh" |
---|
25 | #include "NaganoFluoCalculator.hh" |
---|
26 | #include "ShowerTrack.hh" |
---|
27 | #include "EsafSpectrum.hh" |
---|
28 | #include "SimpleCrkCalculator.hh" |
---|
29 | //////////////////////////////////////////////////////////////////////////////// |
---|
30 | // // |
---|
31 | // EnergyRecoTest2 // |
---|
32 | // // |
---|
33 | // <brief class description> // |
---|
34 | // // |
---|
35 | //////////////////////////////////////////////////////////////////////////////// |
---|
36 | class ERunParameters; |
---|
37 | class EOpticsResponse; |
---|
38 | class EnergyRecoTest; |
---|
39 | class RecoEvent; |
---|
40 | |
---|
41 | class PmtToShowerReco : public RecoModule { |
---|
42 | public: |
---|
43 | PmtToShowerReco(); |
---|
44 | virtual ~PmtToShowerReco(); |
---|
45 | virtual Bool_t Init(); // Init method: called at the beginning of a run |
---|
46 | virtual Bool_t PreProcess(); // called before each event process |
---|
47 | virtual Bool_t Process( RecoEvent* );// event processing |
---|
48 | virtual Bool_t PostProcess(); // called after processing an event |
---|
49 | virtual Bool_t SaveRootData( RecoRootEvent* ); |
---|
50 | virtual Bool_t Done(); |
---|
51 | //////////////////////////////////////////// |
---|
52 | //////////////////////////////////////////// |
---|
53 | //////////////////////////////////////////// |
---|
54 | Bool_t AtmosphericLoss(Int_t ,Float_t *,Float_t *,vector <EarthVector>,Float_t *); |
---|
55 | Bool_t AvgFoVAngle (Int_t,Int_t,Float_t *,Float_t *); |
---|
56 | Bool_t BackgroundCorrection(Float_t *,Int_t,Float_t *); |
---|
57 | Bool_t CalculateMaxPos(Float_t ,Float_t ,Int_t,Float_t*); |
---|
58 | Bool_t CalculateMaxPos_CHERENKOV(Float_t*,Float_t*,Int_t,Int_t,Float_t *); |
---|
59 | Bool_t CalculateMaxPos_WidthMethod(Float_t*,Float_t*,Int_t,Int_t,Float_t *,Float_t*); |
---|
60 | Bool_t CherYield (vector < EarthVector >,Float_t *, Int_t,Float_t *); |
---|
61 | Bool_t Covering_function(Float_t *,Int_t,Float_t *,Float_t *,Int_t*); |
---|
62 | Bool_t DepthAgeGTU(Int_t,Float_t *,Float_t *,Float_t *,Float_t *,vector <EarthVector>,vector < EarthVector >,Float_t,Float_t,Int_t,Float_t); |
---|
63 | Bool_t ErrorBars(Float_t *,Float_t *,Float_t *,Int_t); |
---|
64 | Int_t Find_Peaks(Float_t *,Int_t,Int_t *,Int_t *,Int_t *,Float_t,Float_t); |
---|
65 | Bool_t FitElProfEnergyVal(Int_t,Float_t *,Float_t *,Float_t *,Int_t,Int_t,Float_t*,Float_t *,Float_t *,Float_t*,Float_t *,Float_t*, Float_t *, Float_t *, Int_t*); |
---|
66 | Bool_t FitSpace(Float_t*,Int_t,Float_t *); |
---|
67 | Bool_t FluoYield (vector < EarthVector >,Float_t *, Int_t,Float_t *); |
---|
68 | Bool_t GeometricalLoss(Float_t,Float_t,vector <EarthVector>,Int_t,Float_t *,Float_t *); |
---|
69 | Bool_t ImposeGeometry(Float_t *, Float_t*,Float_t *,Float_t *,Float_t *,Int_t *,RecoEvent* ); |
---|
70 | Bool_t NoIsolatedBins(Float_t *,Int_t,Float_t*); |
---|
71 | Bool_t NumberOfElectrons(vector <EarthVector>,Float_t *,Int_t ,Float_t *,Float_t *,Int_t , Float_t *, Float_t *,Float_t *); |
---|
72 | Bool_t PhotonsOnFSurface(Float_t *,Float_t *,Int_t); |
---|
73 | Bool_t PhotonsOnPupil(Float_t *,Float_t *,Int_t); |
---|
74 | EarthVector ProjectOnEarth (Float_t,Float_t,Float_t ); |
---|
75 | Bool_t ReconstructShowerTrack(Float_t,Float_t,Float_t*,Float_t*,Int_t,Int_t,vector <EarthVector>&,vector <EarthVector>&); |
---|
76 | Bool_t Transmission (vector < EarthVector >,Float_t *,Int_t ,Double_t*,Int_t); |
---|
77 | private: |
---|
78 | RecoEvent *fEvent; |
---|
79 | const RecoModuleData *fDirectionInfos; |
---|
80 | const RecoModuleData *fPatternInfos; |
---|
81 | ERunParameters *fRunpars; |
---|
82 | EOpticsResponse *fOpticsResponse; |
---|
83 | LowtranRadiativeProcessesCalculator *fCalcul; |
---|
84 | NaganoFluoCalculator *fFluo; |
---|
85 | ShowerTrack *fTrack; |
---|
86 | TF2 *fShowerDIST; |
---|
87 | EsafSpectrum *fSpectrum; |
---|
88 | EsafSpectrum *fSpectrumCher; |
---|
89 | const SimpleCrkCalculator *fCher; |
---|
90 | |
---|
91 | Pixels_t fPixelsCluster; |
---|
92 | Float_t fThresholdIntegr,fRadius,fBorder,fDetEff,fISSHeight,fRadiusEarth,fGTULenght,fDetectorArea,fConstFluoYeld,fMeanfreePath,fBackground,fBG3AvgTrans; |
---|
93 | Float_t fEnergySave,fXmax,fRecoCoreX,fRecoCoreY,fRecoCoreZ,fRecoMaxX,fRecoMaxY,fRecoMaxZ,fRecoHMax, fTotCts,fEnergySaveError,fRoughObscPrecis,fThresholdTest,fChiSquare,fDegreesOfFreedom,fXmaxFit,fFrontEndLoss,fAtm_MASS,fX_firstDetection,fDetectedAtmMass,fFitThreshold; |
---|
94 | string fOpticsResp; |
---|
95 | Int_t fUseTrueAngles,fBackgroundCorr,fRecoGeoMethod,fFluoYieldType,fTestDebugMode,fGapCorrection,fCorrection,fGTUMax,fTriggerEvent,fCherFound,fNumGtu,fSideEvent,fCorrectCher,fLightMeanFreePath,fFitStatus,fUseTruePosition,fMaximumPeak,fCherenkovPeak,fInclTiming; |
---|
96 | vector <Float_t> CTS_DET; |
---|
97 | vector <Float_t> lightCurveBack; |
---|
98 | vector <Float_t> lightCurveNOBack; |
---|
99 | vector <Float_t> CTS_TOT; |
---|
100 | vector <Float_t> ErrCtsVec; |
---|
101 | vector <Float_t> Phot_FS; |
---|
102 | vector <Float_t> ErrFS; |
---|
103 | vector <Float_t> Phot_PUP; |
---|
104 | vector <Float_t> ErrPup; |
---|
105 | vector <Float_t> Ch_Scattering; |
---|
106 | vector <Float_t> Ph_ON_SH; |
---|
107 | vector <Float_t> ErrPhOnSh; |
---|
108 | vector <Float_t> electr_curveUNCORR; |
---|
109 | vector <Float_t> electr_curve; |
---|
110 | vector <Float_t> electr_ERR; |
---|
111 | vector <Float_t> depthGTU; |
---|
112 | vector <Float_t> ageGTU; |
---|
113 | vector <Float_t> depthGTUmin; |
---|
114 | vector <Float_t> depthGTUmax; |
---|
115 | vector <Float_t> geometryX; |
---|
116 | vector <Float_t> geometryY; |
---|
117 | vector <Float_t> geometryZ; |
---|
118 | vector <Int_t> gap_proximity; |
---|
119 | vector <Float_t> fl_Yield; |
---|
120 | vector <Float_t> ch_Yield; |
---|
121 | EsafConfigClass (Reco, PmtToShowerReco); |
---|
122 | ClassDef(PmtToShowerReco,0) |
---|
123 | }; |
---|
124 | |
---|
125 | #endif /* __PMTTOSHOWERRECO_HH__ */ |
---|
126 | |
---|