12#ifndef TIDAUTILS_TRIGTRACKSELECTOR_H
13#define TIDAUTILS_TRIGTRACKSELECTOR_H
52#include "GaudiKernel/ToolHandle.h"
80 TrigTrackSelector( tm.begin(), tm.end(), selector, radius, selectPdgId, selectParentPdgId ) {
171 double& d0,
double& dd0,
Scalar phi() const
phi method
Scalar theta() const
theta method
simply defines a token to flag whether we want to use the new offline tracking EDM
DataVector< Trk::Track > TrackCollection
This typedef represents a collection of Trk::Track objects.
base class for a single track selection filter allowing parameter setting for complex track selection
DataModel_detail::const_iterator< DataVector > const_iterator
TrackSelector(TrackFilter *selector=0)
std::vector< TIDA::Track * > m_tracks
const std::vector< TIDA::Track * > & tracks() const
represents a LVL2 ID track
TrigTrackSelector(TrackFilter *selector, double radius)
void setBeamline(double x, double y, double z=0)
const xAOD::TruthParticle * fromAncestor(const int pdg_id, const xAOD::TruthParticle *p) const
recursive functions to identify whether a particle comes from some particle of a specific PDG ID,...
void correctTracks(bool b=true)
bool selectTrack(const TrigInDetTrack *track, const TrigInDetTrackTruthMap *truthMap=0)
neater code to make use of vector function also for a single ancestor pdgid, instead of the full code...
virtual TrackSelector * clone() override
TrigTrackSelector(T tbegin, T tend, TrackFilter *selector, double radius=default_radius(), int selectPdgId=0, int selectParentPdgId=0)
virtual void clear() override
void truthBeamline(const xAOD::TruthParticleContainer *truthtracks, double &x0, double &y0)
extract all the tracks from a xAOD::TruthParticle collection and histogram the x and y production coo...
TrigTrackSelector(T &tm, TrackFilter *selector, double radius=default_radius(), int selectPdgId=0, int selectParentPdgId=0)
TrigTrackSelector(TrackFilter *selector)
use a radius of 47 mm corresponding to the Run 1 pixel inner radius For the IBL it should be 32 mm,...
void selectTracks(const TrigInDetTrackCollection *trigtracks, const TrigInDetTrackTruthMap *truthMap=0)
TIDA::Track * makeTrack(HepMC::ConstGenParticlePtr track)
void correctToBeamline(double &z0, double &dz0, double &d0, double &dd0, double theta, double phi)
static double default_radius()
TrigTrackSelector(TrackFilter *selector, int selectPdgId, int selectParentPdgId)
static const double s_default_radius
NB: This was 47 for Run 2, but with the addition of the IBL it should be 32 It was kept at 47 for all...
std::vector< ElementLink< xAOD::TrackParticleContainer > > TrackParticleLinks_t
(HepMC) Monte Carlo particle.
const GenParticle * ConstGenParticlePtr
TrackParticle_v1 TrackParticle
Reference the current persistent version:
TruthParticle_v1 TruthParticle
Typedef to implementation.
TrackParticleContainer_v1 TrackParticleContainer
Definition of the current "TrackParticle container version".
TruthParticleContainer_v1 TruthParticleContainer
Declare the latest version of the truth particle container.
a class of my own because ttying to access the ParticleDataTable in athena is frankly more trouble ...