Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DEventProcessor_invariant_mass_hists.h
Go to the documentation of this file.
1 // $Id: DEventProcessor_invariant_mass_hists.h 1816 2006-06-06 14:38:18Z davidl $
2 //
3 // File: DEventProcessor_invariant_mass_hists.h
4 // Created: Sun Apr 24 06:45:21 EDT 2005
5 // Creator: davidl (on Darwin Harriet.local 7.8.0 powerpc)
6 //
7 
8 #ifndef _DEventProcessor_invariant_mass_hists_
9 #define _DEventProcessor_invariant_mass_hists_
10 
11 #include <pthread.h>
12 
13 #include <TFile.h>
14 #include <TH1.h>
15 #include <TH2.h>
16 #include <TH3.h>
17 
18 #include <JANA/JFactory.h>
19 #include <JANA/JEventProcessor.h>
20 #include <JANA/JEventLoop.h>
21 using namespace jana;
22 
23 class DTrackWireBased;
24 class DMCThrown;
25 
26 class DEventProcessor_invariant_mass_hists:public JEventProcessor{
27 
28  public:
31 
32  TH1D *sqrt_s; // center of mass energy for all events (shows coherent brem. peaks)
33  TH1D *mm_gp_to_pX; // missing mass of gamma p -> p + X reaction
34  TH1D *mass_2gamma; // invariant mass of 2 photons
35  TH1D *mass_4gamma; // invariant mass of 4 photons
36  TH1D *mass_pip_pim; // invariant mass of pi+ and pi-
37 
38  TH1D *t_pX; // -t distribution for gamma p -> p X
39 
40  private:
41  jerror_t init(void); ///< Invoked via DEventProcessor virtual method
42  jerror_t evnt(JEventLoop *loop, uint64_t eventnumber); ///< Invoked via DEventProcessor virtual method
43  jerror_t erun(void); ///< Invoked via DEventProcessor virtual method
44  jerror_t fini(void); ///< Invoked via DEventProcessor virtual method
45 
46  TLorentzVector MakeTLorentz(const DKinematicData *track, double mass);
47 
48  pthread_mutex_t mutex;
49 };
50 
51 #endif // _DEventProcessor_invariant_mass_hists_
52 
Definition: track.h:16