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{
16 class SRRecoObjBase;
17
20 {
21 private:
22 // make the uses of it below more readable
23 static constexpr float NaN = std::numeric_limits<float>::signaling_NaN();
24
25 public:
26 static constexpr int kPdgHadronicBlob = 2000000002;
27
28 bool primary = false;
29
30 int pdg = 0;
31 int tgtA = 0;
32
33 float score = NaN;
34
35 float E = NaN;
36 PartEMethod E_method = PartEMethod::kUnknownMethod;
38
41
42 // todo: would we prefer some kind of "extents" thing so that we can make a decision about containment later?
43 // or should this be the responsibility of the reco module? (what about stuff that crosses detector boundaries?...)
44 bool contained = false;
45 float walldist = NaN;
46
48
49 int parent = -1;
50 std::vector<unsigned int> daughters;
51
52 std::vector<TrueParticleID> truth;
53 std::vector<float> truthOverlap;
54
56 };
57
58} // caf
59
60#endif //DUNEANAOBJ_SRRECOPARTICLE_H
3-vector class with more efficient storage than TVector3. Ported from NOvA StandardRecord.
Identifies a reconstructed object by the interaction it belongs to, which collection of reconstructed...
Definition: SREnums.h:152
Reconstructed particle candidate.
Definition: SRRecoParticle.h:20
bool primary
Is this reco particle a "primary" one (i.e. emanates directly from the reconstructed vertex)?
Definition: SRRecoParticle.h:28
SRRecoBaseID recoobj
Id of the reconstructed object this particle is built on.
Definition: SRRecoParticle.h:55
int parent
Index of parent SRRecoParticle in the same branch, defaults to -1 if no parent.
Definition: SRRecoParticle.h:49
SRVector3D p
Reconstructed momentum for this particle.
Definition: SRRecoParticle.h:37
static constexpr int kPdgHadronicBlob
Special PDG code used for a "hadronic blob" (usu. calorimetrically reconstructed),...
Definition: SRRecoParticle.h:26
PartEMethod E_method
Method used to determine energy for the particle.
Definition: SRRecoParticle.h:36
RecoObjType origRecoObjType
Is this a track or a shower?
Definition: SRRecoParticle.h:47
int pdg
PDG code inferred for this particle.
Definition: SRRecoParticle.h:30
int tgtA
Atomic number of nucleus this particle was reconstructed in (useful for, e.g., SAND)
Definition: SRRecoParticle.h:31
std::vector< TrueParticleID > truth
Associated SRTrueParticle(s), if relevant (use SRTruthBranch::Particle() with these IDs to grab them)
Definition: SRRecoParticle.h:52
std::vector< float > truthOverlap
Fractional overlap between this reco particle and true particle.
Definition: SRRecoParticle.h:53
std::vector< unsigned int > daughters
Indices of daughters SRRecoParticles in the same branch.
Definition: SRRecoParticle.h:50
SRVector3D start
Reconstructed start point of this particle [cm].
Definition: SRRecoParticle.h:39
float walldist
Closest distance to a detector wall [cm].
Definition: SRRecoParticle.h:45
SRVector3D end
Reconstructed end point of this particle, if that makes sense [cm].
Definition: SRRecoParticle.h:40
float E
Reconstructed energy for this particle [GeV] n.b.: total energy including mass
Definition: SRRecoParticle.h:35
float score
PID score for this particle, if relevant.
Definition: SRRecoParticle.h:33
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:222
@ kUnknownRecoObj
default value
Definition: SREnums.h:223
PartEMethod
Methods for reconstructing particle energies.
Definition: SREnums.h:63