Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DFCALShower_factory.h
Go to the documentation of this file.
1 // $Id: DFCALShower_factory.h 1899 2006-07-13 16:29:56Z davidl $
2 //
3 // File: DFCALShower_factory.h
4 // Created: Tue May 17 11:57:50 EST 2005
5 // Creator: remitche (on Linux mantrid00 2.4.20-18.8smp i686)
6 // Edited: B. Schaefer 3/23/2012 removed radiation hard insert functionality
7 
8 #ifndef _DFCALShower_factory_
9 #define _DFCALShower_factory_
10 
11 #include <JANA/JFactory.h>
12 #include <JANA/JEventLoop.h>
13 #include <FCAL/DFCALShower.h>
14 #include <FCAL/DFCALCluster.h>
15 #include <DANA/DApplication.h>
16 
17 #include <DMatrixDSym.h>
18 
19 #include <TH2F.h>
20 
21 class DFCALHit;
22 class DTrackWireBased;
23 
24 class DFCALShower_factory:public JFactory<DFCALShower>{
25  public:
28  jerror_t LoadCovarianceLookupTables(JEventLoop *eventLoop);
29  jerror_t FillCovarianceMatrix(DFCALShower* shower);
30 
31  private:
32 
33  jerror_t evnt(JEventLoop *eventLoop, uint64_t eventnumber); ///< Invoked via JEventProcessor virtual method
34  jerror_t brun(JEventLoop *loop, int32_t runnumber);
35  jerror_t erun(void);
36 
37  void GetCorrectedEnergyAndPosition(const DFCALCluster* cluster, double &Ecorrected,
38  DVector3 &pos_corrected, double &errZ,
39  const DVector3 *aVertex);
40 
41  unsigned int getMaxHit( const vector< const DFCALHit* >& hitVec ) const;
42 
43  void getUVFromHits( double& sumUSh, double& sumVSh,
44  const vector< const DFCALHit* >& hits,
45  const DVector3& showerVec,
46  const DVector3& trackVec ) const;
47 
48  void getE1925FromHits( double& e1e9Sh, double& e9e25Sh,
49  const vector< const DFCALHit* >& hits,
50  unsigned int maxIndex ) const;
51 
52  vector< const DTrackWireBased* >
53  filterWireBasedTracks( vector< const DTrackWireBased* >& wbTracks ) const;
54 
56 
59  double cutoff_energy;
60  double linfit_slope;
62  double expfit_param1;
63  double expfit_param2;
64  double expfit_param3;
65 
66  double timeConst0;
67  double timeConst1;
68  double timeConst2;
69  double timeConst3;
70  double timeConst4;
71 
76 
77  int VERBOSE;
79  TH2F *CovarianceLookupTable[5][5];
80 };
81 
82 
83 #endif // _DFCALShower_factory_
84 
TVector3 DVector3
Definition: DVector3.h:14
jerror_t brun(JEventLoop *loop, int32_t runnumber)
jerror_t LoadCovarianceLookupTables(JEventLoop *eventLoop)
void getE1925FromHits(double &e1e9Sh, double &e9e25Sh, const vector< const DFCALHit * > &hits, unsigned int maxIndex) const
unsigned int getMaxHit(const vector< const DFCALHit * > &hitVec) const
void getUVFromHits(double &sumUSh, double &sumVSh, const vector< const DFCALHit * > &hits, const DVector3 &showerVec, const DVector3 &trackVec) const
void GetCorrectedEnergyAndPosition(const DFCALCluster *cluster, double &Ecorrected, DVector3 &pos_corrected, double &errZ, const DVector3 *aVertex)
jerror_t evnt(JEventLoop *eventLoop, uint64_t eventnumber)
Invoked via JEventProcessor virtual method.
TH2F * CovarianceLookupTable[5][5]
jerror_t FillCovarianceMatrix(DFCALShower *shower)
vector< const DTrackWireBased * > filterWireBasedTracks(vector< const DTrackWireBased * > &wbTracks) const