36 const char*
const here =
"SimDecoder::SimDecoder";
44 {
"runtime",
"CODA run time", kULong, 0, &
fRunTime },
48 {
"evtime",
"Event time", kULong, 0, &
evt_time },
58 Warning(
here,
"No global variable list found. Variables not registered.");
115 const char*
const here =
"SimDecoder::DefineVariables";
123 {
"weight",
"Event weight",
"fWeight" },
127 {
"tr.n",
"Number of MC tracks",
"GetNMCTracks()" },
128 {
"hit.n",
"Number of MC hits",
"GetNMCHits()" },
130 {
"pt.n",
"Number of MC track points",
132 {
"pt.plane",
"Plane number",
133 "fMCPoints.Podd::MCTrackPoint.fPlane" },
134 {
"pt.type",
"Plane type",
135 "fMCPoints.Podd::MCTrackPoint.fType" },
136 {
"pt.status",
"Reconstruction status",
137 "fMCPoints.Podd::MCTrackPoint.fStatus" },
138 {
"pt.nfound",
"# reconstructed hits found near this point",
139 "fMCPoints.Podd::MCTrackPoint.fNFound" },
140 {
"pt.clustsz",
"Size of closest reconstructed cluster",
141 "fMCPoints.Podd::MCTrackPoint.fClustSize" },
142 {
"pt.time",
"Track arrival time [s]",
143 "fMCPoints.Podd::MCTrackPoint.fMCTime" },
144 {
"pt.p",
"Track momentum [GeV]",
145 "fMCPoints.Podd::MCTrackPoint.P() "},
147 {
"pt.x",
"Track pos lab x [m]",
148 "fMCPoints.Podd::MCTrackPoint.X()" },
149 {
"pt.y",
"Track pos lab y [m]",
150 "fMCPoints.Podd::MCTrackPoint.Y()" },
151 {
"pt.th",
"Track dir tan(theta)",
152 "fMCPoints.Podd::MCTrackPoint.ThetaT()" },
153 {
"pt.ph",
"Track dir tan(phi)",
154 "fMCPoints.Podd::MCTrackPoint.PhiT()" },
156 {
"pt.r",
"Track pos lab r_trans [m]",
157 "fMCPoints.Podd::MCTrackPoint.R()" },
158 {
"pt.theta",
"Track pos lab theta [rad]",
159 "fMCPoints.Podd::MCTrackPoint.Theta()" },
160 {
"pt.phi",
"Track pos lab phi [rad]",
161 "fMCPoints.Podd::MCTrackPoint.Phi()" },
162 {
"pt.thdir",
"Track dir theta [rad]",
163 "fMCPoints.Podd::MCTrackPoint.ThetaDir()" },
164 {
"pt.phdir",
"Track dir phi [rad]",
165 "fMCPoints.Podd::MCTrackPoint.PhiDir()" },
167 {
"pt.deltaE",
"Eloss wrt prev plane (GeV)",
168 "fMCPoints.Podd::MCTrackPoint.fDeltaE" },
169 {
"pt.deflect",
"Deflection wrt prev plane (rad)",
170 "fMCPoints.Podd::MCTrackPoint.fDeflect" },
171 {
"pt.tof",
"Time-of-flight from prev plane (s)",
172 "fMCPoints.Podd::MCTrackPoint.fToF" },
173 {
"pt.hitres",
"Hit residual (mm)",
174 "fMCPoints.Podd::MCTrackPoint.fHitResid" },
175 {
"pt.trkres",
"Track residual (mm)",
176 "fMCPoints.Podd::MCTrackPoint.fTrackResid" },
188 : fNumber(number), fPID(pid), fOrigin(
vertex),
189 fMomentum(momentum), fNHits(0), fHitBits(0), fNHitsFound(0), fFoundBits(0),
190 fReconFlags(0), fContamFlags(0), fMatchval(
kBig), fFitRank(-1),
191 fTrackRank(-1), fMCFitPar{}, fRcFitPar{}
199 : fNumber(0), fPID(0), fNHits(0), fHitBits(0), fNHitsFound(0),
200 fFoundBits(0), fReconFlags(0), fContamFlags(0), fMatchval(
kBig),
201 fFitRank(-1), fTrackRank(-1), fMCFitPar{}, fRcFitPar{}
212 cout <<
"track: num = " <<
fNumber
213 <<
", PID = " <<
fPID
238 const auto* rhs =
static_cast<const MCTrackPoint*
>(obj);
240 if( fType < rhs->
fType )
return -1;
241 if(
fType > rhs->fType )
return 1;
242 if( fPlane < rhs->
fPlane )
return -1;
243 if(
fPlane > rhs->fPlane )
return 1;
254 <<
", plane_type = " <<
fType
255 <<
", status = " <<
fStatus << endl
258 cout <<
" time = " <<
fMCTime <<
" s"
259 <<
", deltaE = " <<
fDeltaE <<
" GeV"
260 <<
", deflect = " << 1e3*
fDeflect <<
" mrad"
261 <<
", tof = " << 1e9*
fToF <<
" ns"
262 <<
", hit_resid = " << 1e3*
fHitResid <<
" mm"
Option_t Option_t TPoint TPoint const char mode
R__EXTERN class THaVarList * gHaVars
static const char *const here
char * Form(const char *fmt,...)
static Double_t fgWindowSize
virtual Int_t Compare(const TObject *obj) const
virtual void Print(Option_t *opt) const
virtual void Print(const Option_t *opt="") const
virtual void Clear(Option_t *opt="")
virtual MCHitInfo GetMCHitInfo(Int_t crate, Int_t slot, Int_t chan) const
virtual Int_t DefineVariables(THaAnalysisObject::EMode mode=THaAnalysisObject::kDefine)
void Clear(Option_t *option="") override
static Int_t DefineVarsFromList(const void *list, EType type, EMode mode, const char *def_prefix, const TObject *obj, const char *prefix, const char *here, const char *comment_subst="")
virtual Int_t RemoveRegexp(const char *expr, Bool_t wildcard=true)
virtual Int_t DefineVariables(const VarDef *list, const char *prefix="", const char *caller="")
virtual void Clear(Option_t *="")
virtual void Warning(const char *method, const char *msgfmt,...) const
TString & Append(char c, Ssiz_t rep=1)
void Print(Option_t *option="") const override
const char *const MC_PREFIX