Public Member Functions | Private Member Functions | Private Attributes | List of all members
rb::Interaction Class Reference

A single interaction in the detector, grouping tracks and showers at a common vertex. More...

#include "/cvmfs/nova-development.opensciencegrid.org/novasoft/releases/N20-09-26/RecoBase/Interaction.h"

Public Member Functions

 Interaction ()
 
 ~Interaction ()
 
 Interaction (art::Ptr< rb::Vertex > primaryVertex, std::vector< SecondaryInteraction > const &secondaryInteractions, std::vector< InteractionTrack > const &tracks, std::vector< InteractionShower > const &showers, std::vector< InteractionDiPhoton > const &diPhotons, std::map< int, uint32_t > const &particlesInEvent, double const &energy, double const &pid, int const &pdg)
 
art::Ptr< rb::Vertex > const & PrimaryVertex () const
 
std::vector< SecondaryInteraction > const & SecondaryInteractions () const
 
std::vector< InteractionTrack > const & InteractionTracks () const
 
std::vector< InteractionShower > const & InteractionShowers () const
 
std::vector< InteractionDiPhoton > const & InteractionDiPhotons () const
 
double const & Energy () const
 
double const & PIDValue () const
 
int const & PDGValue () const
 
uint32_t const NumberParticleX (int const &pdg) const
 
bool const IsNeutrino () const
 
double const & QSquared () const
 
double const & WSquared () const
 
double const & BjorkenX () const
 
double const & HadronicY () const
 

Private Member Functions

double const CalculateQSquared ()
 
double const CalculateWSquared ()
 
double const CalculateBjorkenX ()
 
double const CalculateHadronicY ()
 

Private Attributes

art::Ptr< rb::VertexfPrimaryVertex
 the primary vertex More...
 
std::vector< SecondaryInteractionfSecondaryInteractions
 list of secondary vertices More...
 
std::vector< InteractionTrackfTracks
 all tracks with PID More...
 
std::vector< InteractionShowerfShowers
 all showers with PID that are not from diphotons More...
 
std::vector< InteractionDiPhotonfDiPhotons
 all showers that are from diphoton processes More...
 
std::map< int, uint32_t > fParticlesInEvent
 number of each particle species in the interaction More...
 
double fEnergy
 energy of the interaction More...
 
double fPID
 overall PID for the interaction More...
 
int fPDG
 overall PDG identifier for the interaction More...
 
bool fIsNeutrino
 is this interaction from a neutrino? More...
 
double fQSquared
 Q^2. More...
 
double fWSquared
 W^2. More...
 
double fBjorkenX
 Bjorken X. More...
 
double fHadronicY
 fraction of energy in the hadronic system More...
 

Detailed Description

A single interaction in the detector, grouping tracks and showers at a common vertex.

An Interaction collates all the information about particles in a single slice. The Interaction may have any number of tracks and showers in it. Each track and shower should have some guess as to what kind of particle it corresponds to. No need to have more than one guess per object, that just gets confusing. If there is some question, simply make multiple interactions for the different options. Each PID should have a statement of how reliable it is in the form of a figure of merit.

Definition at line 89 of file Interaction.h.

Constructor & Destructor Documentation

rb::Interaction::Interaction ( )

Definition at line 62 of file Interaction.cxx.

63  {
64  }
rb::Interaction::~Interaction ( )

Definition at line 108 of file Interaction.cxx.

109  {
110  return;
111  }
rb::Interaction::Interaction ( art::Ptr< rb::Vertex primaryVertex,
std::vector< SecondaryInteraction > const &  secondaryInteractions,
std::vector< InteractionTrack > const &  tracks,
std::vector< InteractionShower > const &  showers,
std::vector< InteractionDiPhoton > const &  diPhotons,
std::map< int, uint32_t > const &  particlesInEvent,
double const &  energy,
double const &  pid,
int const &  pdg 
)

Definition at line 67 of file Interaction.cxx.

References std::abs(), CalculateBjorkenX(), CalculateHadronicY(), CalculateQSquared(), CalculateWSquared(), fBjorkenX, fHadronicY, fIsNeutrino, fPDG, fQSquared, and fWSquared.

76  : fPrimaryVertex (primaryVertex )
77  , fSecondaryInteractions(secondaryInteractions)
78  , fTracks (tracks )
79  , fShowers (showers )
80  , fDiPhotons (diPhotons )
81  , fParticlesInEvent (particlesInEvent )
82  , fEnergy (energy )
83  , fPID (pid )
84  , fPDG (pdg )
85  , fIsNeutrino (false )
86  , fQSquared (-999. )
87  , fWSquared (-999. )
88  , fBjorkenX (-999. )
89  , fHadronicY (-999. )
90  {
91  if(std::abs(fPDG) == 12 ||
92  std::abs(fPDG) == 14 ||
93  std::abs(fPDG) == 16 ){
94  fIsNeutrino = true;
95 
96  // calculate the kinematical quantities
97  fQSquared = this->CalculateQSquared();
98  fWSquared = this->CalculateWSquared();
99  fBjorkenX = this->CalculateBjorkenX();
100  fHadronicY = this->CalculateHadronicY();
101 
102  } // end if this is a neutrino
103 
104  return;
105  }
double fHadronicY
fraction of energy in the hadronic system
Definition: Interaction.h:110
double const CalculateQSquared()
double fPID
overall PID for the interaction
Definition: Interaction.h:104
art::Ptr< rb::Vertex > fPrimaryVertex
the primary vertex
Definition: Interaction.h:97
std::vector< SecondaryInteraction > fSecondaryInteractions
list of secondary vertices
Definition: Interaction.h:98
double const CalculateBjorkenX()
float abs(float number)
Definition: d0nt_math.hpp:39
double const CalculateHadronicY()
std::vector< InteractionShower > fShowers
all showers with PID that are not from diphotons
Definition: Interaction.h:100
std::map< int, uint32_t > fParticlesInEvent
number of each particle species in the interaction
Definition: Interaction.h:102
double fQSquared
Q^2.
Definition: Interaction.h:107
double const CalculateWSquared()
double energy
Definition: plottest35.C:25
bool fIsNeutrino
is this interaction from a neutrino?
Definition: Interaction.h:106
int fPDG
overall PDG identifier for the interaction
Definition: Interaction.h:105
double fWSquared
W^2.
Definition: Interaction.h:108
double fEnergy
energy of the interaction
Definition: Interaction.h:103
double fBjorkenX
Bjorken X.
Definition: Interaction.h:109
std::vector< InteractionDiPhoton > fDiPhotons
all showers that are from diphoton processes
Definition: Interaction.h:101
std::vector< InteractionTrack > fTracks
all tracks with PID
Definition: Interaction.h:99

Member Function Documentation

double const& rb::Interaction::BjorkenX ( ) const
double const rb::Interaction::CalculateBjorkenX ( )
private

Definition at line 138 of file Interaction.cxx.

Referenced by Interaction().

139  {
140  double bx = 0.;
141  return bx;
142  }
double const rb::Interaction::CalculateHadronicY ( )
private

Definition at line 145 of file Interaction.cxx.

Referenced by Interaction().

146  {
147  double hy = 0.;
148  return hy;
149  }
double const rb::Interaction::CalculateQSquared ( )
private

Definition at line 124 of file Interaction.cxx.

Referenced by Interaction().

125  {
126  double qsqr = 0.;
127  return qsqr;
128  }
double const rb::Interaction::CalculateWSquared ( )
private

Definition at line 131 of file Interaction.cxx.

Referenced by Interaction().

132  {
133  double wsqr = 0.;
134  return wsqr;
135  }
double const & rb::Interaction::Energy ( ) const
inline

Definition at line 172 of file Interaction.h.

172 { return fEnergy; }
double fEnergy
energy of the interaction
Definition: Interaction.h:103
double const& rb::Interaction::HadronicY ( ) const
std::vector< rb::InteractionDiPhoton > const & rb::Interaction::InteractionDiPhotons ( ) const
inline

Definition at line 171 of file Interaction.h.

References rb::SecondaryInteraction::fDiPhotons.

171 { return fDiPhotons; }
std::vector< InteractionDiPhoton > fDiPhotons
all showers that are from diphoton processes
Definition: Interaction.h:101
std::vector< rb::InteractionShower > const & rb::Interaction::InteractionShowers ( ) const
inline

Definition at line 170 of file Interaction.h.

References rb::SecondaryInteraction::fShowers.

170 { return fShowers; }
std::vector< InteractionShower > fShowers
all showers with PID that are not from diphotons
Definition: Interaction.h:100
std::vector< rb::InteractionTrack > const & rb::Interaction::InteractionTracks ( ) const
inline

Definition at line 169 of file Interaction.h.

References rb::SecondaryInteraction::fTracks.

169 { return fTracks; }
std::vector< InteractionTrack > fTracks
all tracks with PID
Definition: Interaction.h:99
bool const rb::Interaction::IsNeutrino ( ) const
inline

Definition at line 175 of file Interaction.h.

175 { return fIsNeutrino; }
bool fIsNeutrino
is this interaction from a neutrino?
Definition: Interaction.h:106
uint32_t const rb::Interaction::NumberParticleX ( int const &  pdg) const

Definition at line 114 of file Interaction.cxx.

References fParticlesInEvent.

115  {
116  // See if the given particle is in the species map, and if so
117  // return the value of the map for that species
118  if(fParticlesInEvent.count(pdg) > 0) return fParticlesInEvent.find(pdg)->second;
119 
120  return 0;
121  }
std::map< int, uint32_t > fParticlesInEvent
number of each particle species in the interaction
Definition: Interaction.h:102
int const & rb::Interaction::PDGValue ( ) const
inline

Definition at line 174 of file Interaction.h.

174 { return fPDG; }
int fPDG
overall PDG identifier for the interaction
Definition: Interaction.h:105
double const & rb::Interaction::PIDValue ( ) const
inline

Definition at line 173 of file Interaction.h.

173 { return fPID; }
double fPID
overall PID for the interaction
Definition: Interaction.h:104
art::Ptr< rb::Vertex > const & rb::Interaction::PrimaryVertex ( ) const
inline

Definition at line 167 of file Interaction.h.

167 { return fPrimaryVertex; }
art::Ptr< rb::Vertex > fPrimaryVertex
the primary vertex
Definition: Interaction.h:97
double const& rb::Interaction::QSquared ( ) const
std::vector< rb::SecondaryInteraction > const & rb::Interaction::SecondaryInteractions ( ) const
inline

Definition at line 168 of file Interaction.h.

168 { return fSecondaryInteractions; }
std::vector< SecondaryInteraction > fSecondaryInteractions
list of secondary vertices
Definition: Interaction.h:98
double const& rb::Interaction::WSquared ( ) const

Member Data Documentation

double rb::Interaction::fBjorkenX
private

Bjorken X.

Definition at line 109 of file Interaction.h.

Referenced by Interaction().

std::vector<InteractionDiPhoton> rb::Interaction::fDiPhotons
private

all showers that are from diphoton processes

Definition at line 101 of file Interaction.h.

double rb::Interaction::fEnergy
private

energy of the interaction

Definition at line 103 of file Interaction.h.

double rb::Interaction::fHadronicY
private

fraction of energy in the hadronic system

Definition at line 110 of file Interaction.h.

Referenced by Interaction().

bool rb::Interaction::fIsNeutrino
private

is this interaction from a neutrino?

Definition at line 106 of file Interaction.h.

Referenced by Interaction().

std::map<int, uint32_t> rb::Interaction::fParticlesInEvent
private

number of each particle species in the interaction

Definition at line 102 of file Interaction.h.

Referenced by NumberParticleX().

int rb::Interaction::fPDG
private

overall PDG identifier for the interaction

Definition at line 105 of file Interaction.h.

Referenced by Interaction().

double rb::Interaction::fPID
private

overall PID for the interaction

Definition at line 104 of file Interaction.h.

art::Ptr<rb::Vertex> rb::Interaction::fPrimaryVertex
private

the primary vertex

Definition at line 97 of file Interaction.h.

double rb::Interaction::fQSquared
private

Q^2.

Definition at line 107 of file Interaction.h.

Referenced by Interaction().

std::vector<SecondaryInteraction> rb::Interaction::fSecondaryInteractions
private

list of secondary vertices

Definition at line 98 of file Interaction.h.

std::vector<InteractionShower> rb::Interaction::fShowers
private

all showers with PID that are not from diphotons

Definition at line 100 of file Interaction.h.

std::vector<InteractionTrack> rb::Interaction::fTracks
private

all tracks with PID

Definition at line 99 of file Interaction.h.

double rb::Interaction::fWSquared
private

W^2.

Definition at line 108 of file Interaction.h.

Referenced by Interaction().


The documentation for this class was generated from the following files: