Hall C ROOT/C++ Analyzer (hcana)
THcHodoEff.h
Go to the documentation of this file.
1 #ifndef ROOT_THcHodoEff
2 #define ROOT_THcHodoEff
3 
5 // //
6 // THcHodoEff //
7 // //
9 
10 #include "THaEvData.h"
11 #include "THaCutList.h"
12 #include "VarDef.h"
13 #include "VarType.h"
14 #include "TClonesArray.h"
15 
16 #include <cstring>
17 #include <cstdio>
18 #include <cstdlib>
19 #include <iostream>
20 
21 #include "THaPhysicsModule.h"
22 #include "THcHodoscope.h"
23 #include "THaSpectrometer.h"
24 #include "THaTrack.h"
25 
26 class THcHodoEff : public THaPhysicsModule {
27 public:
28  THcHodoEff( const char* name, const char* description, const char* hodname);
29  virtual ~THcHodoEff();
30 
31  virtual Int_t Begin( THaRunBase* r=0 );
32  virtual Int_t End( THaRunBase* r=0 );
33  virtual EStatus Init( const TDatime& run_time );
34  virtual Int_t Process( const THaEvData& );
35 
36  void Reset( Option_t* opt="" );
37 
38 protected:
39 
40  virtual Int_t ReadDatabase( const TDatime& date);
41  virtual Int_t DefineVariables( EMode mode = kDefine );
42  /* Int_t GetScinIndex(Int_t nPlane, Int_t nPaddle); */
43 
44  // Data needed for efficiency calculation for one Hodoscope paddle
45 
47 
48  TString fName; // Name of hodoscope
49  THcHodoscope* fHod; // Hodscope object
50  THaSpectrometer* fSpectro; // Spectrometer object
51 
53 
54  // Information about the hodoscopes that we get from the
55  // THcHodoscope object
56 
64  // Int_t* fHodoPlnContHit;
78 
79  // Arrays for accumulating statistics
80  vector<vector<vector<Int_t> > > fHitShould;
81  vector<vector<vector<Int_t> > > fStatAndHitDel;
82  vector<vector<vector<Int_t> > > fStatTrkDel;
83  vector<vector<Int_t> > fStatPosHit;
84  vector<vector<Int_t> > fStatNegHit;
85  vector<vector<Int_t> > fStatAndHit;
86  vector<vector<Int_t> > fStatOrHit;
87  vector<vector<Int_t> > fBothGood;
88  vector<vector<Int_t> > fNegGood;
89  vector<vector<Int_t> > fPosGood;
90 
92 
93  ClassDef(THcHodoEff,0) // Hodoscope efficiency module
94 };
95 
96 #endif
Int_t * fNCounters
Definition: THcHodoEff.h:63
A single plane of scintillators.
vector< vector< vector< Int_t > > > fHitShould
Definition: THcHodoEff.h:80
THcHodoEff(const char *name, const char *description, const char *hodname)
Definition: THcHodoEff.cxx:27
Long64_t fNevt
Definition: THcHodoEff.h:52
long long Long64_t
Double_t fHodoEff_s1
Definition: THcHodoEff.h:77
Double_t fStatSlop
Definition: THcHodoEff.h:73
const char Option_t
Int_t * fHodoPosEffi
Definition: THcHodoEff.h:65
virtual Int_t DefineVariables(EMode mode=kDefine)
Definition: THcHodoEff.cxx:266
Double_t fHodoEff_3_of_4
Definition: THcHodoEff.h:77
Double_t * fPosZ
Definition: THcHodoEff.h:60
vector< vector< Int_t > > fStatAndHit
Definition: THcHodoEff.h:85
vector< vector< Int_t > > fStatNegHit
Definition: THcHodoEff.h:84
virtual Int_t Process(const THaEvData &)
Definition: THcHodoEff.cxx:286
int Int_t
vector< vector< Int_t > > fStatPosHit
Definition: THcHodoEff.h:83
Double_t * fCenterFirst
Definition: THcHodoEff.h:62
Double_t fHodoEff_4_of_4
Definition: THcHodoEff.h:77
TString fName
Definition: THcHodoEff.h:48
THaSpectrometer * fSpectro
Definition: THcHodoEff.h:50
virtual Int_t ReadDatabase(const TDatime &date)
Definition: THcHodoEff.cxx:158
vector< vector< Int_t > > fNegGood
Definition: THcHodoEff.h:88
Double_t * fZPos
Definition: THcHodoEff.h:46
#define ClassDef(name, id)
Int_t * fHodoAndEffi
Definition: THcHodoEff.h:68
Int_t * fStatAndSum
Definition: THcHodoEff.h:71
Double_t fHodoEff_s2
Definition: THcHodoEff.h:77
THcHodoscope * fHod
Definition: THcHodoEff.h:49
ROOT::R::TRInterface & r
virtual EStatus Init(const TDatime &run_time)
Definition: THcHodoEff.cxx:132
vector< vector< vector< Int_t > > > fStatAndHitDel
Definition: THcHodoEff.h:81
vector< vector< Int_t > > fBothGood
Definition: THcHodoEff.h:87
double Double_t
Double_t fHodoEff_tof
Definition: THcHodoEff.h:77
Int_t * fStatTrk
Definition: THcHodoEff.h:69
Double_t fHodoEff_CalEnergy_Cut
Definition: THcHodoEff.h:74
Class for accumulating statistics for and calculating hodoscope efficiencies.
Definition: THcHodoEff.h:26
Double_t * fHodoSlop
Definition: THcHodoEff.h:76
THcScintillatorPlane ** fPlanes
Definition: THcHodoEff.h:59
virtual ~THcHodoEff()
Definition: THcHodoEff.cxx:35
Int_t * fHodoNegEffi
Definition: THcHodoEff.h:66
Int_t fEffiTest
Definition: THcHodoEff.h:57
virtual Int_t Begin(THaRunBase *r=0)
Definition: THcHodoEff.cxx:68
Double_t * fStatAndEff
Definition: THcHodoEff.h:72
vector< vector< Int_t > > fPosGood
Definition: THcHodoEff.h:89
Double_t fMaxChisq
Definition: THcHodoEff.h:75
vector< vector< Int_t > > fStatOrHit
Definition: THcHodoEff.h:86
Int_t * fHitPlane
Definition: THcHodoEff.h:91
Int_t fNPlanes
Definition: THcHodoEff.h:58
Generic hodoscope consisting of multiple planes with multiple paddles with phototubes on both ends...
Definition: THcHodoscope.h:37
vector< vector< vector< Int_t > > > fStatTrkDel
Definition: THcHodoEff.h:82
Int_t * fStatTrkSum
Definition: THcHodoEff.h:70
char name[80]
Double_t * fSpacing
Definition: THcHodoEff.h:61
Int_t * fHodoOrEffi
Definition: THcHodoEff.h:67
void Reset(Option_t *opt="")
Definition: THcHodoEff.cxx:61
virtual Int_t End(THaRunBase *r=0)
Definition: THcHodoEff.cxx:100