DUNE StandardRecord
Base object for DUNE analysis files (CAFs)
SRRecoParticle.h
Go to the documentation of this file.
1 
6 
7 #ifndef DUNEANAOBJ_SRRECOPARTICLE_H
8 #define DUNEANAOBJ_SRRECOPARTICLE_H
9 
10 #include "duneanaobj/StandardRecord/SREnums.h"
11 #include "duneanaobj/StandardRecord/SRLorentzVector.h"
13 
14 namespace caf
15 {
18  {
19  private:
20  // make the uses of it below more readable
21  static constexpr float NaN = std::numeric_limits<float>::signaling_NaN();
22 
23  public:
24  static constexpr int kPdgHadronicBlob = 2000000002;
25 
26  bool primary = false;
27 
28  int pdg = 0;
29  int tgtA = 0;
30 
31  float score = NaN;
32 
33  float E = NaN;
34  PartEMethod E_method = PartEMethod::kUnknownMethod;
36 
39 
40  // todo: would we prefer some kind of "extents" thing so that we can make a decision about containment later?
41  // or should this be the responsibility of the reco module? (what about stuff that crosses detector boundaries?...)
42  bool contained = false;
43 
44  std::vector<TrueParticleID> truth;
45  std::vector<float> truthOverlap;
46  };
47 
48 } // caf
49 
50 #endif //DUNEANAOBJ_SRRECOPARTICLE_H
3-vector class with more efficient storage than TVector3. Ported from NOvA StandardRecord.
Reconstructed particle candidate.
Definition: SRRecoParticle.h:18
bool primary
Is this reco particle a "primary" one (i.e. emanates directly from the reconstructed vertex)?
Definition: SRRecoParticle.h:26
SRVector3D p
Reconstructed momentum for this particle.
Definition: SRRecoParticle.h:35
static constexpr int kPdgHadronicBlob
Special PDG code used for a "hadronic blob" (usu. calorimetrically reconstructed),...
Definition: SRRecoParticle.h:24
PartEMethod E_method
Method used to determine energy for the particle.
Definition: SRRecoParticle.h:34
int pdg
PDG code inferred for this particle.
Definition: SRRecoParticle.h:28
int tgtA
Atomic number of nucleus this particle was reconstructed in (useful for, e.g., SAND)
Definition: SRRecoParticle.h:29
std::vector< TrueParticleID > truth
Associated SRTrueParticle(s), if relevant (use SRTruthBranch::Particle() with these IDs to grab them)
Definition: SRRecoParticle.h:44
std::vector< float > truthOverlap
Fractional overlap between this reco particle and true particle.
Definition: SRRecoParticle.h:45
SRVector3D start
Reconstructed start point of this particle [cm].
Definition: SRRecoParticle.h:37
SRVector3D end
Reconstructed end point of this particle, if that makes sense [cm].
Definition: SRRecoParticle.h:38
float E
Reconstructed energy for this particle [GeV].
Definition: SRRecoParticle.h:33
float score
PID score for this particle, if relevant.
Definition: SRRecoParticle.h:31
A 3-vector with more efficient storage than TVector3.
Definition: SRVector3D.h:26
Common Analysis Files.
Definition: SRBeamBranch.h:13
PartEMethod
Methods for reconstructing particle energies.
Definition: SREnums.h:56