Hall-D Software
alpha
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
DEventProcessor_phys_tree.h
Go to the documentation of this file.
1
// $Id$
2
//
3
// File: DEventProcessor_phys_tree.h
4
// Created: Wed Sep 2 20:25:05 EDT 2009
5
// Creator: davidl (on Darwin harriet.jlab.org 9.6.0 i386)
6
//
7
8
#ifndef _DEventProcessor_phys_tree_
9
#define _DEventProcessor_phys_tree_
10
11
#include <vector>
12
using namespace
std;
13
14
#include <TTree.h>
15
#include <TFile.h>
16
#include <TH1.h>
17
#include <TH2.h>
18
19
#include <JANA/JFactory.h>
20
#include <JANA/JEventProcessor.h>
21
#include <JANA/JEventLoop.h>
22
23
#include <
PID/DKinematicData.h
>
24
#include <
PID/DChargedTrack.h
>
25
#include <
PID/DNeutralParticle.h
>
26
#include <
TRACKING/DReferenceTrajectory.h
>
27
#include <
TRACKING/DMCTrackHit.h
>
28
#include <
TRACKING/DTrackWireBased.h
>
29
#include <
TRACKING/DTrackTimeBased.h
>
30
#include <
TRACKING/DMCThrown.h
>
31
#include <
CDC/DCDCTrackHit.h
>
32
#include <
FDC/DFDCHit.h
>
33
#include <
PID/DVertex.h
>
34
35
#include "
Event.h
"
36
#include "
Particle.h
"
37
38
class
DMCTrajectoryPoint
;
39
class
DCoordinateSystem
;
40
41
class
DEventProcessor_phys_tree
:
public
JEventProcessor{
42
public
:
43
DEventProcessor_phys_tree
();
44
~
DEventProcessor_phys_tree
();
45
const
char
*
className
(
void
){
return
"DEventProcessor_trackres_tree"
;}
46
47
class
particle_set
{
48
public
:
49
vector<Particle>
photons
;
50
vector<Particle>
neutrons
;
51
vector<Particle>
piplus
;
52
vector<Particle>
piminus
;
53
vector<Particle>
protons
;
54
vector<Particle>
Kplus
;
55
vector<Particle>
Kminus
;
56
};
57
58
Event
*
evt_recon
;
59
Event
*
evt_thrown
;
60
TTree *
tree_recon
;
61
TTree *
tree_thrwn
;
62
63
pthread_mutex_t
mutex
;
64
65
private
:
66
jerror_t init(
void
);
///< Called once at program start.
67
jerror_t brun(JEventLoop *eventLoop, int32_t runnumber);
///< Called everytime a new run number is detected.
68
jerror_t evnt(JEventLoop *eventLoop, uint64_t eventnumber);
///< Called every event.
69
jerror_t erun(
void
);
///< Called everytime run number changes, provided brun has been called.
70
jerror_t fini(
void
);
///< Called after last event of last event source has been processed.
71
72
Particle
MakeParticle(
const
DKinematicData
*kd,
double
mass);
73
Particle
MakeParticle(
const
DChargedTrackHypothesis
*locChargedTrackHypothesis,
double
mass);
74
Particle
MakeParticle(
const
DNeutralParticleHypothesis
*locNeutralParticleHypothesis,
double
mass);
75
bool
IsFiducial(
const
DKinematicData
*kd);
76
void
FillEvent(
Event
*evt,
particle_set
&pset,
particle_set
&pset_match);
77
Particle
FindBestMatch(
const
Particle
&primary, vector<Particle> &secondaries);
78
double
GetFOM(
const
Particle
&a,
const
Particle
&b)
const
;
79
};
80
81
#endif // _DEventProcessor_trackres_tree_
82
DEventProcessor_phys_tree::tree_recon
TTree * tree_recon
Definition:
DEventProcessor_phys_tree.h:60
DFDCHit.h
DTrackTimeBased.h
Event
Definition:
eta_ntuple/Event.h:20
Particle
Definition:
mc_tree/Particle.h:15
DEventProcessor_phys_tree::particle_set::Kminus
vector< Particle > Kminus
Definition:
DEventProcessor_phys_tree.h:55
Particle.h
DCoordinateSystem
Definition:
DCoordinateSystem.h:13
DChargedTrackHypothesis
Definition:
DChargedTrackHypothesis.h:16
DEventProcessor_phys_tree::particle_set::photons
vector< Particle > photons
Definition:
DEventProcessor_phys_tree.h:49
DEventProcessor_phys_tree::evt_thrown
Event * evt_thrown
Definition:
DEventProcessor_phys_tree.h:59
DEventProcessor_phys_tree::evt_recon
Event * evt_recon
Definition:
DEventProcessor_phys_tree.h:58
DNeutralParticle.h
DEventProcessor_phys_tree::particle_set::Kplus
vector< Particle > Kplus
Definition:
DEventProcessor_phys_tree.h:54
DEventProcessor_phys_tree::tree_thrwn
TTree * tree_thrwn
Definition:
DEventProcessor_phys_tree.h:61
DTrackWireBased.h
Event.h
DEventProcessor_phys_tree::particle_set::piminus
vector< Particle > piminus
Definition:
DEventProcessor_phys_tree.h:52
DKinematicData
Definition:
DKinematicData.h:24
DMCTrackHit.h
DEventProcessor_phys_tree::particle_set
Definition:
DEventProcessor_phys_tree.h:47
DEventProcessor_phys_tree::particle_set::protons
vector< Particle > protons
Definition:
DEventProcessor_phys_tree.h:53
DMCTrajectoryPoint
Definition:
DMCTrajectoryPoint.h:14
DEventProcessor_phys_tree::className
const char * className(void)
Definition:
DEventProcessor_phys_tree.h:45
DVertex.h
DCDCTrackHit.h
DEventProcessor_phys_tree::particle_set::piplus
vector< Particle > piplus
Definition:
DEventProcessor_phys_tree.h:51
DEventProcessor_phys_tree::mutex
pthread_mutex_t mutex
Definition:
DEventProcessor_phys_tree.h:63
DNeutralParticleHypothesis
Definition:
DNeutralParticleHypothesis.h:22
DMCThrown.h
DEventProcessor_phys_tree
Definition:
DEventProcessor_phys_tree.h:41
DReferenceTrajectory.h
DChargedTrack.h
DKinematicData.h
DEventProcessor_phys_tree::particle_set::neutrons
vector< Particle > neutrons
Definition:
DEventProcessor_phys_tree.h:50
plugins
Analysis
phys_tree
DEventProcessor_phys_tree.h
Generated on Fri Jul 26 2019 14:00:35 for Hall-D Software by
1.8.5