DUNE StandardRecord
Base object for DUNE analysis files (CAFs)
Loading...
Searching...
No Matches
SRRecoParticle.h
Go to the documentation of this file.
1
5
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
14namespace 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 float walldist = NaN;
44
46
47 int parent = -1;
48 std::vector<unsigned int> daughters;
49
50 std::vector<TrueParticleID> truth;
51 std::vector<float> truthOverlap;
52 };
53
54} // caf
55
56#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
int parent
Index of parent SRRecoParticle in the same branch, defaults to -1 if no parent.
Definition SRRecoParticle.h:47
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
RecoObjType origRecoObjType
Is this a track or a shower?
Definition SRRecoParticle.h:45
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:50
std::vector< float > truthOverlap
Fractional overlap between this reco particle and true particle.
Definition SRRecoParticle.h:51
std::vector< unsigned int > daughters
Indices of daughters SRRecoParticles in the same branch.
Definition SRRecoParticle.h:48
SRVector3D start
Reconstructed start point of this particle [cm].
Definition SRRecoParticle.h:37
float walldist
Closest distance to a detector wall [cm].
Definition SRRecoParticle.h:43
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 Navigate.cxx:8
RecoObjType
What is the type of the reconstructed object? This is used to help with the association of reconstruc...
Definition SREnums.h:153
@ kUnknownRecoObj
default value
Definition SREnums.h:154
PartEMethod
Methods for reconstructing particle energies.
Definition SREnums.h:63