11#include <analysis/VariableManager/Manager.h>
13#include <Math/Vector3D.h>
14#include <Math/Point3D.h>
25 class TOPLikelihoodScanResult;
27 namespace TOPVariable {
37 const TOPLikelihood* getTOPLikelihood(
const Particle* particle);
45 const ExtHit* getExtHit(
const Particle* particle);
53 const TOPBarHit* getBarHit(
const Particle* particle);
61 const TOPLikelihoodScanResult* getTOPLikelihoodScanResult(
const Particle* particle);
70 int getSlotID(
const Particle* particle);
82 double topSlotID(
const Particle* particle);
91 double topSlotIDMCMatch(
const Particle* particle);
100 bool getLocalPosition(
const Particle* particle, ROOT::Math::XYZPoint& result);
109 double getTOPLocalX(
const Particle* particle);
118 double getTOPLocalY(
const Particle* particle);
127 double getTOPLocalZ(
const Particle* particle);
136 bool getLocalPositionMCMatch(
const Particle* particle, ROOT::Math::XYZPoint& result);
145 double getTOPLocalXMCMatch(
const Particle* particle);
154 double getTOPLocalYMCMatch(
const Particle* particle);
163 double getTOPLocalZMCMatch(
const Particle* particle);
172 bool getLocalMomentum(
const Particle* particle, ROOT::Math::XYZVector& result);
181 double getTOPLocalPhi(
const Particle* particle);
190 double getTOPLocalTheta(
const Particle* particle);
199 bool getLocalMomentumMCMatch(
const Particle* particle, ROOT::Math::XYZVector& result);
208 double getTOPLocalPhiMCMatch(
const Particle* particle);
217 double getTOPLocalThetaMCMatch(
const Particle* particle);
226 double computeTOF(
const Particle* particle,
int pdg);
235 double getTOF(
const Particle* particle);
244 double getTOFMCMatch(
const Particle* particle);
254 double getTOFExpert(
const Particle* particle,
const std::vector<double>& vars);
265 double extrapTrackToTOPz(
const Particle* particle);
273 double extrapTrackToTOPtheta(
const Particle* particle);
281 double extrapTrackToTOPphi(
const Particle* particle);
295 double countHits(
const Particle* particle,
double tmin,
double tmax,
bool clean);
304 double topDigitCount(
const Particle* particle);
313 double topDigitCountMCMatch(
const Particle* particle);
323 double topSignalDigitCount(
const Particle* particle);
333 double topBackgroundDigitCount(
const Particle* particle);
342 double topRawDigitCount(
const Particle* particle);
352 double countTOPHitsInInterval(
const Particle* particle,
const std::vector<double>& vars);
362 double countTOPHitsInIntervalMCMatch(
const Particle* particle,
const std::vector<double>& vars);
372 double countRawTOPHitsInInterval(
const Particle* particle,
const std::vector<double>& vars);
384 double getFlag(
const Particle* particle);
393 double getModuleID(
const Particle* particle);
402 double getEmissionX(
const Particle* particle);
411 double getEmissionZ(
const Particle* particle);
420 double getTOPPhotonCount(
const Particle* particle);
429 double expectedPhotonCount(
const Particle* particle,
int pdg);
438 double getExpectedPhotonCount(
const Particle* particle);
448 double getExpectedPhotonCountExpert(
const Particle* particle,
449 const std::vector<double>& vars);
458 double effectiveSignalYield(
const Particle* particle,
int pdg);
467 double getEffectiveSignalYield(
const Particle* particle);
477 double getEffectiveSignalYieldExpert(
const Particle* particle,
478 const std::vector<double>& vars);
487 double getEstimatedBkgCount(
const Particle* particle);
496 double getElectronLogL(
const Particle* particle);
505 double getMuonLogL(
const Particle* particle);
514 double getPionLogL(
const Particle* particle);
523 double getKaonLogL(
const Particle* particle);
532 double getProtonLogL(
const Particle* particle);
541 double getDeuteronLogL(
const Particle* particle);
553 double getLogLScanMass(
const Particle* particle);
562 double getLogLScanMassLowerInterval(
const Particle* particle);
571 double getLogLScanMassUpperInterval(
const Particle* particle);
580 double getLogLScanThreshold(
const Particle* particle);
589 double getLogLScanExpectedSignalPhotons(
const Particle* particle);
601 double isTOPRecBunchReconstructed([[maybe_unused]]
const Particle* particle);
610 double isTOPRecBunchFilled([[maybe_unused]]
const Particle* particle);
619 double TOPRecBunchNumber([[maybe_unused]]
const Particle* particle);
628 double TOPRecBucketNumber([[maybe_unused]]
const Particle* particle);
637 double isTOPRecBunchNumberEQsim([[maybe_unused]]
const Particle* particle);
646 double TOPRecBunchCurrentOffset([[maybe_unused]]
const Particle* particle);
655 double TOPRecBunchTrackCount([[maybe_unused]]
const Particle* particle);
664 double TOPRecBunchUsedTrackCount([[maybe_unused]]
const Particle* particle);
677 double TOPRawPhotonsInSlot([[maybe_unused]]
const Particle* particle,
const std::vector<double>& vars);
687 double TOPGoodPhotonsInSlot([[maybe_unused]]
const Particle* particle,
const std::vector<double>& vars);
696 double TOPTracksInSlot(
const Particle* particle);
Abstract base class for different kinds of events.