#include <TrajectoryManager.h>
Public Types | |
typedef ROOT::Math::AxisAngle | Rotation |
Public Member Functions | |
void | createPSimHits (const TrackerLayer &layer, const ParticlePropagator &P_before, std::map< double, PSimHit > &theHitMap, int trackID, int partID, const TrackerTopology *tTopo) |
Create a vector of PSimHits. More... | |
void | initializeRecoGeometry (const GeometricSearchTracker *geomSearchTracker, const TrackerInteractionGeometry *interactionGeometry, const MagneticFieldMap *aFieldMap) |
Initialize the Reconstruction Geometry. More... | |
void | initializeTrackerGeometry (const TrackerGeometry *geomTracker) |
Initialize the full Tracker Geometry. More... | |
void | loadSimHits (edm::PSimHitContainer &c) const |
void | propagateToCalorimeters (ParticlePropagator &PP, int fsimi, RandomEngineAndDistribution const *) |
Propagate the particle through the calorimeters. More... | |
bool | propagateToLayer (ParticlePropagator &PP, unsigned layer) |
void | reconstruct (const TrackerTopology *tTopo, RandomEngineAndDistribution const *) |
Does the real job. More... | |
const TrackerInteractionGeometry * | theGeometry () |
Returns the pointer to geometry. More... | |
TrajectoryManager () | |
Default Constructor. More... | |
TrajectoryManager (FSimEvent *aSimEvent, const edm::ParameterSet &matEff, const edm::ParameterSet &simHits, const edm::ParameterSet &decays) | |
Constructor from a FSimEvent. More... | |
~TrajectoryManager () | |
Default Destructor. More... | |
Private Member Functions | |
const DetLayer * | detLayer (const TrackerLayer &layer, float zpos) const |
Returns the DetLayer pointer corresponding to the FAMOS layer. More... | |
void | initializeLayerMap () |
Initialize correspondence map between Famos interaction geometry and tracker reco geometry. More... | |
void | makePSimHits (const GeomDet *det, const TrajectoryStateOnSurface &ts, std::map< double, PSimHit > &theHitMap, int tkID, float el, float thick, int pID, const TrackerTopology *tTopo) |
and there More... | |
std::pair< double, PSimHit > | makeSinglePSimHit (const GeomDetUnit &det, const TrajectoryStateOnSurface &ts, int tkID, float el, float thick, int pID, const TrackerTopology *tTopo) const |
and there More... | |
TrajectoryStateOnSurface | makeTrajectoryState (const DetLayer *layer, const ParticlePropagator &pp, const MagneticField *field) const |
Teddy, you must put comments there. More... | |
void | moveAllDaughters (int fsimi, const Rotation &r, double rescale) |
Move, rescale and rotate all daughters after propagation, material effects and decay of the mother. More... | |
void | updateWithDaughters (ParticlePropagator &PP, int fsimi, RandomEngineAndDistribution const *) |
Decay the particle and update the SimEvent with daughters. More... | |
Private Attributes | |
const MagneticFieldMap * | _theFieldMap |
const TrackerInteractionGeometry * | _theGeometry |
std::string | decayer |
double | distCut |
bool | firstLoop |
PythiaDecays * | myDecayEngine |
FSimEvent * | mySimEvent |
double | pTmin |
const GeometricSearchTracker * | theGeomSearchTracker |
const TrackerGeometry * | theGeomTracker |
std::vector< const DetLayer * > | theLayerMap |
MaterialEffects * | theMaterialEffects |
int | theNegLayerOffset |
std::map< unsigned, std::map < double, PSimHit > > | thePSimHits |
bool | use_hardcoded |
Definition at line 59 of file TrajectoryManager.h.
typedef ROOT::Math::AxisAngle TrajectoryManager::Rotation |
Definition at line 63 of file TrajectoryManager.h.
|
inline |
TrajectoryManager::TrajectoryManager | ( | FSimEvent * | aSimEvent, |
const edm::ParameterSet & | matEff, | ||
const edm::ParameterSet & | simHits, | ||
const edm::ParameterSet & | decays | ||
) |
Constructor from a FSimEvent.
Definition at line 47 of file TrajectoryManager.cc.
References distCut, firstLoop, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), myDecayEngine, pTmin, theMaterialEffects, and use_hardcoded.
TrajectoryManager::~TrajectoryManager | ( | ) |
Default Destructor.
Definition at line 116 of file TrajectoryManager.cc.
References myDecayEngine, and theMaterialEffects.
void TrajectoryManager::createPSimHits | ( | const TrackerLayer & | layer, |
const ParticlePropagator & | P_before, | ||
std::map< double, PSimHit > & | theHitMap, | ||
int | trackID, | ||
int | partID, | ||
const TrackerTopology * | tTopo | ||
) |
Create a vector of PSimHits.
Definition at line 520 of file TrajectoryManager.cc.
References anyDirection, GeometricSearchDet::compatibleDets(), detLayer(), MaterialEffects::energyLoss(), BaseParticlePropagator::getMagneticField(), mps_fire::i, makePSimHits(), makeTrajectoryState(), BaseParticlePropagator::particle(), theMaterialEffects, MaterialEffects::thickness(), TrackerMaterial_cfi::thickness, and RawParticle::Z().
Referenced by reconstruct().
|
private |
Returns the DetLayer pointer corresponding to the FAMOS layer.
Definition at line 844 of file TrajectoryManager.cc.
References TrackerLayer::forward(), TrackerLayer::layerNumber(), theLayerMap, and theNegLayerOffset.
Referenced by createPSimHits().
|
private |
Initialize correspondence map between Famos interaction geometry and tracker reco geometry.
ATTENTION: HARD CODED LOGIC! If Famos layer numbering changes this logic needs to be adapted to the new numbering!
Definition at line 757 of file TrajectoryManager.cc.
References _theGeometry, GeometricSearchTracker::barrelLayers(), TrackerInteractionGeometry::cylinderBegin(), TrackerInteractionGeometry::cylinderEnd(), newFWLiteAna::found, mps_fire::i, LogDebug, GeometricSearchTracker::negForwardLayers(), GeometricSearchTracker::posForwardLayers(), theGeomSearchTracker, theLayerMap, and theNegLayerOffset.
Referenced by initializeRecoGeometry().
void TrajectoryManager::initializeRecoGeometry | ( | const GeometricSearchTracker * | geomSearchTracker, |
const TrackerInteractionGeometry * | interactionGeometry, | ||
const MagneticFieldMap * | aFieldMap | ||
) |
Initialize the Reconstruction Geometry.
Definition at line 97 of file TrajectoryManager.cc.
References _theFieldMap, _theGeometry, initializeLayerMap(), and theGeomSearchTracker.
void TrajectoryManager::initializeTrackerGeometry | ( | const TrackerGeometry * | geomTracker | ) |
Initialize the full Tracker Geometry.
Definition at line 112 of file TrajectoryManager.cc.
References theGeomTracker.
void TrajectoryManager::loadSimHits | ( | edm::PSimHitContainer & | c | ) | const |
Definition at line 851 of file TrajectoryManager.cc.
References SplitLinear::begin, dataset::end, and thePSimHits.
|
private |
and there
Definition at line 569 of file TrajectoryManager.cc.
References AlCaHLTBitMon_QueryRunRegistry::comp, GeomDet::components(), mps_fire::i, and makeSinglePSimHit().
Referenced by createPSimHits().
|
private |
and there
Definition at line 590 of file TrajectoryManager.cc.
References anyDirection, PV3DBase< T, PVType, FrameType >::basicVector(), Surface::bounds(), FSimTrack::closestDaughterId(), gather_cfg::cout, mps_splice::entry, beamvalidation::exit(), GeomDet::geographicalId(), TrajectoryStateOnSurface::globalMomentum(), TrajectoryStateOnSurface::globalPosition(), FSimTrack::id(), listHistos::IP, Bounds::length(), TrajectoryStateOnSurface::localMomentum(), TrajectoryStateOnSurface::localPosition(), PV3DBase< T, PVType, FrameType >::mag(), callgraph::module, FSimTrack::mother(), mySimEvent, FSimTrack::noMother(), fed_dqm_sourceclient-live_cfg::path, FSimVertex::position(), TrackerTopology::pxbLayer(), TrackerTopology::pxfDisk(), DetId::rawId(), GeomDet::surface(), TrackerTopology::tecRing(), TrackerTopology::tecWheel(), TrackerTopology::tibLayer(), TrackerTopology::tidRing(), TrackerTopology::tidWheel(), TrackerTopology::tobLayer(), TrackerTopology::tobStereo(), Surface::toGlobal(), GeomDet::toLocal(), FBaseSimEvent::track(), TrajectoryStateOnSurface::transverseCurvature(), Vector3DBase< T, FrameTag >::unit(), FSimTrack::vertex(), Bounds::width(), hit::x, hit::y, z, PV3DBase< T, PVType, FrameType >::z(), and hit::z.
Referenced by makePSimHits().
|
private |
Teddy, you must put comments there.
Definition at line 559 of file TrajectoryManager.cc.
References RawParticle::charge(), BaseParticlePropagator::particle(), RawParticle::Px(), RawParticle::Py(), RawParticle::Pz(), GeometricSearchDet::surface(), Surface::tangentPlane(), RawParticle::X(), RawParticle::Y(), and RawParticle::Z().
Referenced by createPSimHits().
|
private |
Move, rescale and rotate all daughters after propagation, material effects and decay of the mother.
Definition at line 502 of file TrajectoryManager.cc.
References FSimTrack::daughter(), FSimTrack::id(), FSimTrack::momentum(), mySimEvent, FSimTrack::nDaughters(), FSimTrack::setMomentum(), mathSSE::sqrt(), and FBaseSimEvent::track().
Referenced by updateWithDaughters().
void TrajectoryManager::propagateToCalorimeters | ( | ParticlePropagator & | PP, |
int | fsimi, | ||
RandomEngineAndDistribution const * | random | ||
) |
Propagate the particle through the calorimeters.
Definition at line 361 of file TrajectoryManager.cc.
References BaseParticlePropagator::getSuccess(), BaseParticlePropagator::hasDecayed(), RawParticle::momentum(), mySimEvent, FSimTrack::notYetToEndVertex(), BaseParticlePropagator::particle(), BaseParticlePropagator::propagateToEcalEntrance(), BaseParticlePropagator::propagateToHcalEntrance(), BaseParticlePropagator::propagateToPreshowerLayer1(), BaseParticlePropagator::propagateToPreshowerLayer2(), BaseParticlePropagator::propagateToVFcalEntrance(), FSimTrack::setEcal(), FSimTrack::setHcal(), FSimTrack::setLayer1(), FSimTrack::setLayer2(), SimTrack::setTkMomentum(), SimTrack::setTkPosition(), FSimTrack::setVFcal(), FBaseSimEvent::track(), updateWithDaughters(), and RawParticle::vertex().
Referenced by reconstruct().
bool TrajectoryManager::propagateToLayer | ( | ParticlePropagator & | PP, |
unsigned | layer | ||
) |
Propagate a particle to a given tracker layer (for electron pixel matching mostly)
Definition at line 416 of file TrajectoryManager.cc.
References _theGeometry, TrackerInteractionGeometry::cylinderBegin(), TrackerInteractionGeometry::cylinderEnd(), fileCollector::done, BaseParticlePropagator::getSuccess(), BaseParticlePropagator::onFiducial(), ParticlePropagator::propagateToBoundSurface(), and ParticlePropagator::setPropagationConditions().
void TrajectoryManager::reconstruct | ( | const TrackerTopology * | tTopo, |
RandomEngineAndDistribution const * | random | ||
) |
Does the real job.
Definition at line 129 of file TrajectoryManager.cc.
References _theFieldMap, _theGeometry, KineParticleFilter::acceptParticle(), FBaseSimEvent::addSimVertex(), createPSimHits(), pdg::cTau(), TrackerInteractionGeometry::cylinderBegin(), TrackerInteractionGeometry::cylinderEnd(), FSimVertexType::END_VERTEX, FBaseSimEvent::filter(), firstLoop, MaterialEffects::interact(), heppy_loop::loop, mySimEvent, FSimTrack::nDaughters(), FSimTrack::notYetToEndVertex(), FSimEvent::nTracks(), propagateToCalorimeters(), pTmin, MaterialEffects::save(), FSimTrack::setPropagate(), jetcorrextractor::sign(), summarizeEdmComparisonLogfiles::success, theGeomTracker, theMaterialEffects, thePSimHits, FBaseSimEvent::theTable(), FBaseSimEvent::track(), CoreSimTrack::type(), updateWithDaughters(), and use_hardcoded.
const TrackerInteractionGeometry * TrajectoryManager::theGeometry | ( | ) |
Returns the pointer to geometry.
Definition at line 114 of file TrajectoryManager.cc.
References _theGeometry.
|
private |
Decay the particle and update the SimEvent with daughters.
Definition at line 438 of file TrajectoryManager.cc.
References FBaseSimEvent::addSimTrack(), FBaseSimEvent::addSimVertex(), angle(), RawParticle::charge(), FSimVertexType::DECAY_VERTEX, distCut, FSimTrack::endVertex(), FSimVertex::id(), FSimTrack::momentum(), RawParticle::momentum(), moveAllDaughters(), myDecayEngine, mySimEvent, FSimTrack::nDaughters(), BaseParticlePropagator::particle(), PythiaDecays::particleDaughters(), alignCSCRings::r, FSimTrack::setClosestDaughterId(), FSimVertex::setPosition(), mathSSE::sqrt(), RandomEngineAndDistribution::theEngine(), FBaseSimEvent::track(), RawParticle::Vect(), FBaseSimEvent::vertex(), and RawParticle::vertex().
Referenced by propagateToCalorimeters(), and reconstruct().
|
private |
Definition at line 149 of file TrajectoryManager.h.
Referenced by initializeRecoGeometry(), and reconstruct().
|
private |
Definition at line 148 of file TrajectoryManager.h.
Referenced by initializeLayerMap(), initializeRecoGeometry(), propagateToLayer(), reconstruct(), and theGeometry().
|
private |
Definition at line 154 of file TrajectoryManager.h.
|
private |
Definition at line 155 of file TrajectoryManager.h.
Referenced by TrajectoryManager(), and updateWithDaughters().
|
private |
Definition at line 158 of file TrajectoryManager.h.
Referenced by reconstruct(), and TrajectoryManager().
|
private |
Definition at line 153 of file TrajectoryManager.h.
Referenced by TrajectoryManager(), updateWithDaughters(), and ~TrajectoryManager().
|
private |
Definition at line 146 of file TrajectoryManager.h.
Referenced by makeSinglePSimHit(), moveAllDaughters(), propagateToCalorimeters(), reconstruct(), and updateWithDaughters().
|
private |
Definition at line 157 of file TrajectoryManager.h.
Referenced by reconstruct(), and TrajectoryManager().
|
private |
Definition at line 162 of file TrajectoryManager.h.
Referenced by initializeLayerMap(), and initializeRecoGeometry().
|
private |
Definition at line 161 of file TrajectoryManager.h.
Referenced by initializeTrackerGeometry(), and reconstruct().
|
private |
Definition at line 163 of file TrajectoryManager.h.
Referenced by detLayer(), and initializeLayerMap().
|
private |
Definition at line 151 of file TrajectoryManager.h.
Referenced by createPSimHits(), reconstruct(), TrajectoryManager(), and ~TrajectoryManager().
|
private |
Definition at line 164 of file TrajectoryManager.h.
Referenced by detLayer(), and initializeLayerMap().
|
private |
Definition at line 159 of file TrajectoryManager.h.
Referenced by loadSimHits(), and reconstruct().
|
private |
Definition at line 168 of file TrajectoryManager.h.
Referenced by reconstruct(), and TrajectoryManager().