CMS 3D CMS Logo

List of all members | Public Member Functions | Private Types | Private Member Functions | Private Attributes
NuclearInteractionFinder Class Reference

Class used to obtain vector of all compatible TMs associated to a trajectory to be used by the NuclearTester. More...

#include <NuclearInteractionFinder.h>

Public Member Functions

std::unique_ptr< TrajectorySeedCollectiongetPersistentSeeds ()
 Fill 'output' with persistent nuclear seeds. More...
 
void improveSeeds (const MeasurementTrackerEvent &event)
 Improve the seeds with a third RecHit. More...
 
const NavigationSchoolnav () const
 
 NuclearInteractionFinder ()
 
 NuclearInteractionFinder (const edm::EventSetup &es, const edm::ParameterSet &iConfig)
 
TrajectoryStateOnSurface rescaleError (float rescale, const TSOS &state) const
 
bool run (const Trajectory &traj, const MeasurementTrackerEvent &event)
 Run the Finder. More...
 
virtual ~NuclearInteractionFinder ()
 

Private Types

typedef TrajectoryMeasurement::ConstRecHitPointer ConstRecHitPointer
 
typedef FreeTrajectoryState FTS
 
typedef TrajectoryMeasurement TM
 
typedef std::vector< TrajectoryTrajectoryContainer
 
typedef TrajectoryStateOnSurface TSOS
 

Private Member Functions

void definePrimaryHelix (std::vector< TrajectoryMeasurement >::const_iterator it_meas)
 Calculate the parameters of the circle representing the primary track at the interaction point. More...
 
void fillSeeds (const std::pair< TrajectoryMeasurement, std::vector< TrajectoryMeasurement > > &tmPairs)
 get the seeds at the interaction point More...
 
std::vector< TrajectoryMeasurementfindCompatibleMeasurements (const TM &lastMeas, double rescaleFactor, const LayerMeasurements &layerMeasurements) const
 Find compatible TM of a TM with error rescaled by rescaleFactor. More...
 
std::vector< TrajectoryMeasurementfindMeasurementsFromTSOS (const TSOS &currentState, DetId detid, const LayerMeasurements &layerMeasurements) const
 

Private Attributes

std::vector< SeedFromNuclearInteractionallSeeds
 
bool checkCompletedTrack
 
SeedFromNuclearInteractioncurrentSeed
 
unsigned int maxHits
 
std::string navigationSchoolName
 
NuclearTesternuclTester
 
double ptMin
 
double rescaleErrorFactor
 
const MeasurementEstimatortheEstimator
 
const GeometricSearchTrackertheGeomSearchTracker
 
edm::ESHandle< MagneticFieldtheMagField
 
const MeasurementTrackertheMeasurementTracker
 
const NavigationSchooltheNavigationSchool
 
TangentHelixthePrimaryHelix
 
const PropagatorthePropagator
 

Detailed Description

Class used to obtain vector of all compatible TMs associated to a trajectory to be used by the NuclearTester.

\description The method run gets all compatible TMs of all TMs associated of a trajectory. Then it uses the NuclearTester class to decide whether the trajectory has interacted nuclearly or not. It finally returns a pair of the TM where the nuclear interaction occurs and all compatible TMs associated.

Definition at line 41 of file NuclearInteractionFinder.h.

Member Typedef Documentation

◆ ConstRecHitPointer

Definition at line 47 of file NuclearInteractionFinder.h.

◆ FTS

Definition at line 44 of file NuclearInteractionFinder.h.

◆ TM

Definition at line 45 of file NuclearInteractionFinder.h.

◆ TrajectoryContainer

Definition at line 46 of file NuclearInteractionFinder.h.

◆ TSOS

Definition at line 43 of file NuclearInteractionFinder.h.

Constructor & Destructor Documentation

◆ NuclearInteractionFinder() [1/2]

NuclearInteractionFinder::NuclearInteractionFinder ( )
inline

Definition at line 65 of file NuclearInteractionFinder.h.

65 {}

◆ NuclearInteractionFinder() [2/2]

NuclearInteractionFinder::NuclearInteractionFinder ( const edm::EventSetup es,
const edm::ParameterSet iConfig 
)

Definition at line 19 of file NuclearInteractionFinder.cc.

20  : maxHits(iConfig.getParameter<int>("maxHits")),
21  rescaleErrorFactor(iConfig.getParameter<double>("rescaleErrorFactor")),
22  checkCompletedTrack(iConfig.getParameter<bool>("checkCompletedTrack")),
23  navigationSchoolName(iConfig.getParameter<std::string>("NavigationSchool")) {
24  std::string measurementTrackerName = iConfig.getParameter<std::string>("MeasurementTrackerName");
25 
29  edm::ESHandle<MeasurementTracker> measurementTrackerHandle;
30  edm::ESHandle<GeometricSearchTracker> theGeomSearchTrackerHandle;
31  edm::ESHandle<TrackerGeometry> theTrackerGeom;
32 
33  es.get<TrackerDigiGeometryRecord>().get(theTrackerGeom);
34  es.get<TrackingComponentsRecord>().get("PropagatorWithMaterial", prop);
35  es.get<TrackingComponentsRecord>().get("Chi2", est);
36  es.get<CkfComponentsRecord>().get(measurementTrackerName, measurementTrackerHandle);
37  es.get<TrackerRecoGeometryRecord>().get(theGeomSearchTrackerHandle);
39 
42  theNavigationSchool = nav.product();
43 
44  thePropagator = prop.product();
45  theEstimator = est.product();
46  theMeasurementTracker = measurementTrackerHandle.product();
47  theGeomSearchTracker = theGeomSearchTrackerHandle.product();
48 
49  LogDebug("NuclearSeedGenerator") << "New NuclearInteractionFinder instance with parameters : \n"
50  << "maxHits : " << maxHits << "\n"
51  << "rescaleErrorFactor : " << rescaleErrorFactor << "\n"
52  << "checkCompletedTrack : " << checkCompletedTrack << "\n";
53 
54  nuclTester = new NuclearTester(maxHits, theEstimator, theTrackerGeom.product());
55 
56  currentSeed = new SeedFromNuclearInteraction(thePropagator, theTrackerGeom.product(), iConfig);
57 
59 }

References checkCompletedTrack, currentSeed, edm::EventSetup::get(), get, edm::ParameterSet::getParameter(), LogDebug, maxHits, HLT_FULL_cff::measurementTrackerName, nav(), navigationSchoolName, nuclTester, edm::ESHandle< T >::product(), rescaleErrorFactor, AlCaHLTBitMon_QueryRunRegistry::string, theEstimator, theGeomSearchTracker, theMagField, theMeasurementTracker, theNavigationSchool, thePrimaryHelix, and thePropagator.

◆ ~NuclearInteractionFinder()

NuclearInteractionFinder::~NuclearInteractionFinder ( )
virtual

Definition at line 61 of file NuclearInteractionFinder.cc.

61  {
62  delete nuclTester;
63  delete currentSeed;
64  delete thePrimaryHelix;
65 }

References currentSeed, nuclTester, and thePrimaryHelix.

Member Function Documentation

◆ definePrimaryHelix()

void NuclearInteractionFinder::definePrimaryHelix ( std::vector< TrajectoryMeasurement >::const_iterator  it_meas)
private

Calculate the parameters of the circle representing the primary track at the interaction point.

Definition at line 130 of file NuclearInteractionFinder.cc.

130  {
131  // This method uses the 3 last TM after the interaction point to calculate the helix parameters
132 
133  GlobalPoint pt[3];
134  for (int i = 0; i < 3; i++) {
135  pt[i] = (it_meas->updatedState()).globalParameters().position();
136  it_meas++;
137  }
138  delete thePrimaryHelix;
139  thePrimaryHelix = new TangentHelix(pt[0], pt[1], pt[2]);
140 }

References mps_fire::i, DiDispStaMuonMonitor_cfi::pt, and thePrimaryHelix.

Referenced by run().

◆ fillSeeds()

void NuclearInteractionFinder::fillSeeds ( const std::pair< TrajectoryMeasurement, std::vector< TrajectoryMeasurement > > &  tmPairs)
private

get the seeds at the interaction point

Definition at line 192 of file NuclearInteractionFinder.cc.

193  {
194  // This method returns the seeds calculated by the class SeedsFromNuclearInteraction
195 
196  const TM& innerTM = tmPairs.first;
197  const std::vector<TM>& outerTMs = tmPairs.second;
198 
199  // Loop on all outer TM
200  for (std::vector<TM>::const_iterator outtm = outerTMs.begin(); outtm != outerTMs.end(); outtm++) {
201  if ((innerTM.recHit())->isValid() && (outtm->recHit())->isValid()) {
202  currentSeed->setMeasurements(innerTM.updatedState(), innerTM.recHit(), outtm->recHit());
203  allSeeds.push_back(*currentSeed);
204  } else
205  LogDebug("NuclearSeedGenerator") << "The initial hits for seeding are invalid"
206  << "\n";
207  }
208  return;
209 }

References allSeeds, currentSeed, sistrip::SpyUtilities::isValid(), LogDebug, TrajectoryMeasurement::recHit(), SeedFromNuclearInteraction::setMeasurements(), and TrajectoryMeasurement::updatedState().

Referenced by run().

◆ findCompatibleMeasurements()

std::vector< TrajectoryMeasurement > NuclearInteractionFinder::findCompatibleMeasurements ( const TM lastMeas,
double  rescaleFactor,
const LayerMeasurements layerMeasurements 
) const
private

Find compatible TM of a TM with error rescaled by rescaleFactor.

Definition at line 142 of file NuclearInteractionFinder.cc.

143  {
144  const TSOS& currentState = lastMeas.updatedState();
145  LogDebug("NuclearSeedGenerator") << "currentState :" << currentState << "\n";
146 
147  TSOS newState = rescaleError(rescale, currentState);
148  return findMeasurementsFromTSOS(newState, lastMeas.recHit()->geographicalId(), layerMeasurements);
149 }

References findMeasurementsFromTSOS(), LogDebug, TrajectoryMeasurement::recHit(), MuonErrorMatrixAdjuster_cfi::rescale, rescaleError(), and TrajectoryMeasurement::updatedState().

Referenced by run().

◆ findMeasurementsFromTSOS()

std::vector< TrajectoryMeasurement > NuclearInteractionFinder::findMeasurementsFromTSOS ( const TSOS currentState,
DetId  detid,
const LayerMeasurements layerMeasurements 
) const
private

Definition at line 151 of file NuclearInteractionFinder.cc.

152  {
153  using namespace std;
154  int invalidHits = 0;
155  vector<TM> result;
156  const DetLayer* lastLayer = theGeomSearchTracker->detLayer(detid);
157  vector<const DetLayer*> nl;
158 
159  if (lastLayer) {
160  nl = theNavigationSchool->nextLayers(*lastLayer, *currentState.freeState(), alongMomentum);
161  } else {
162  edm::LogError("NuclearInteractionFinder") << "In findCompatibleMeasurements : lastLayer not accessible";
163  return result;
164  }
165 
166  if (nl.empty()) {
167  LogDebug("NuclearSeedGenerator") << "In findCompatibleMeasurements : no compatible layer found";
168  return result;
169  }
170 
171  for (vector<const DetLayer*>::iterator il = nl.begin(); il != nl.end(); il++) {
172  vector<TM> tmp = layerMeasurements.measurements((**il), currentState, *thePropagator, *theEstimator);
173  if (!tmp.empty()) {
174  if (result.empty())
175  result = tmp;
176  else {
177  // keep one dummy TM at the end, skip the others
178  result.insert(result.end() - invalidHits, tmp.begin(), tmp.end());
179  }
180  invalidHits++;
181  }
182  }
183 
184  // sort the final result, keep dummy measurements at the end
185  if (result.size() > 1) {
186  sort(result.begin(), result.end() - invalidHits, TrajMeasLessEstim());
187  }
188  return result;
189 }

References alongMomentum, GeometricSearchTracker::detLayer(), TrajectoryStateOnSurface::freeState(), LogDebug, LayerMeasurements::measurements(), NavigationSchool::nextLayers(), mps_fire::result, jetUpdater_cfi::sort, theEstimator, theGeomSearchTracker, theNavigationSchool, thePropagator, and createJobs::tmp.

Referenced by findCompatibleMeasurements(), and improveSeeds().

◆ getPersistentSeeds()

std::unique_ptr< TrajectorySeedCollection > NuclearInteractionFinder::getPersistentSeeds ( )

Fill 'output' with persistent nuclear seeds.

Definition at line 211 of file NuclearInteractionFinder.cc.

211  {
212  auto output = std::make_unique<TrajectorySeedCollection>();
213  for (std::vector<SeedFromNuclearInteraction>::const_iterator it_seed = allSeeds.begin(); it_seed != allSeeds.end();
214  it_seed++) {
215  if (it_seed->isValid()) {
216  output->push_back(it_seed->TrajSeed());
217  } else
218  LogDebug("NuclearSeedGenerator") << "The seed is invalid"
219  << "\n";
220  }
221  return output;
222 }

References allSeeds, LogDebug, and convertSQLitetoXML_cfg::output.

◆ improveSeeds()

void NuclearInteractionFinder::improveSeeds ( const MeasurementTrackerEvent event)

Improve the seeds with a third RecHit.

Definition at line 224 of file NuclearInteractionFinder.cc.

224  {
225  std::vector<SeedFromNuclearInteraction> newSeedCollection;
226 
227  LayerMeasurements layerMeasurements(*theMeasurementTracker, event);
228 
229  // loop on all actual seeds
230  for (std::vector<SeedFromNuclearInteraction>::const_iterator it_seed = allSeeds.begin(); it_seed != allSeeds.end();
231  it_seed++) {
232  if (!it_seed->isValid())
233  continue;
234 
235  // find compatible TM in an outer layer
236  std::vector<TM> thirdTMs =
237  findMeasurementsFromTSOS(it_seed->updatedTSOS(), it_seed->outerHitDetId(), layerMeasurements);
238 
239  // loop on those new TMs
240  for (std::vector<TM>::const_iterator tm = thirdTMs.begin(); tm != thirdTMs.end(); tm++) {
241  if (!tm->recHit()->isValid())
242  continue;
243 
244  // create new seeds collection using the circle equation
245  currentSeed->setMeasurements(*thePrimaryHelix, it_seed->initialTSOS(), it_seed->outerHit(), tm->recHit());
246  newSeedCollection.push_back(*currentSeed);
247  }
248  }
249  allSeeds.clear();
250  allSeeds = newSeedCollection;
251 }

References allSeeds, currentSeed, findMeasurementsFromTSOS(), SeedFromNuclearInteraction::setMeasurements(), theMeasurementTracker, and thePrimaryHelix.

◆ nav()

const NavigationSchool* NuclearInteractionFinder::nav ( ) const
inline

Definition at line 82 of file NuclearInteractionFinder.h.

82 { return theNavigationSchool; }

References theNavigationSchool.

Referenced by NuclearInteractionFinder().

◆ rescaleError()

TrajectoryStateOnSurface NuclearInteractionFinder::rescaleError ( float  rescale,
const TSOS state 
) const

Definition at line 253 of file NuclearInteractionFinder.cc.

253  {
254  AlgebraicSymMatrix55 m(state.localError().matrix());
256  LocalTrajectoryParameters ltp = state.localParameters();
257 
258  // we assume that the error on q/p is equal to 20% of q/p * rescale
259  mr(0, 0) = (ltp.signedInverseMomentum() * 0.2 * rescale) * (ltp.signedInverseMomentum() * 0.2 * rescale);
260 
261  // the error on dx/z and dy/dz is fixed to 10% (* rescale)
262  mr(1, 1) = 1E-2 * rescale * rescale;
263  mr(2, 2) = 1E-2 * rescale * rescale;
264 
265  // the error on the local x and y positions are not modified.
266  mr(3, 3) = m(3, 3);
267  mr(4, 4) = m(4, 4);
268 
269  return TSOS(ltp, mr, state.surface(), &(state.globalParameters().magneticField()), state.surfaceSide());
270 }

References visualization-live-secondInstance_cfg::m, HLTObjectMonitor_cfi::mr, MuonErrorMatrixAdjuster_cfi::rescale, and LocalTrajectoryParameters::signedInverseMomentum().

Referenced by findCompatibleMeasurements().

◆ run()

bool NuclearInteractionFinder::run ( const Trajectory traj,
const MeasurementTrackerEvent event 
)

Run the Finder.

Definition at line 68 of file NuclearInteractionFinder.cc.

68  {
69  if (traj.empty() || !traj.isValid())
70  return false;
71 
72  LogDebug("NuclearSeedGenerator") << "Analyzis of a new trajectory with a number of valid hits = " << traj.foundHits();
73 
74  std::vector<TrajectoryMeasurement> measurements = traj.measurements();
75 
76  // initialization
77  nuclTester->reset(measurements.size());
78  allSeeds.clear();
79 
80  LayerMeasurements layerMeasurements(*theMeasurementTracker, event);
81 
82  if (traj.direction() == alongMomentum) {
83  std::reverse(measurements.begin(), measurements.end());
84  }
85 
86  std::vector<TrajectoryMeasurement>::const_iterator it_meas = measurements.begin();
87 
88  std::vector<double> ncompatibleHits;
89  bool NIfound = false;
90 
91  // Loop on all the RecHits.
92  while (!NIfound) {
93  if (it_meas == measurements.end())
94  break;
95 
96  // check only the maxHits outermost hits of the primary track
98  break;
99 
100  nuclTester->push_back(*it_meas, findCompatibleMeasurements(*it_meas, rescaleErrorFactor, layerMeasurements));
101 
102  LogDebug("NuclearSeedGenerator") << "Number of compatible meas:" << (nuclTester->back()).size() << "\n"
103  << "Mean distance between hits :" << nuclTester->meanHitDistance() << "\n"
104  << "Forward estimate :" << nuclTester->fwdEstimate() << "\n";
105 
106  // don't check tracks which reach the end of the tracker if checkCompletedTrack==false
107  if (checkCompletedTrack == false && (nuclTester->compatibleHits()).front() == 0)
108  break;
109 
111  NIfound = true;
112 
113  ++it_meas;
114  }
115 
116  if (NIfound) {
117  LogDebug("NuclearSeedGenerator") << "NUCLEAR INTERACTION FOUND at index : " << nuclTester->nuclearIndex() << "\n";
118 
119  // Get correct parametrization of the helix of the primary track at the interaction point (to be used by improveCurrentSeed)
120  definePrimaryHelix(measurements.begin() + nuclTester->nuclearIndex() - 1);
121 
122  this->fillSeeds(nuclTester->goodTMPair());
123 
124  return true;
125  }
126 
127  return false;
128 }

References allSeeds, alongMomentum, NuclearTester::back(), checkCompletedTrack, NuclearTester::compatibleHits(), definePrimaryHelix(), Trajectory::direction(), Trajectory::empty(), fillSeeds(), findCompatibleMeasurements(), Trajectory::foundHits(), NuclearTester::fwdEstimate(), NuclearTester::goodTMPair(), NuclearTester::isNuclearInteraction(), Trajectory::isValid(), LogDebug, maxHits, NuclearTester::meanHitDistance(), Trajectory::measurements(), NuclearTester::nHitsChecked(), NuclearTester::nuclearIndex(), nuclTester, NuclearTester::push_back(), rescaleErrorFactor, NuclearTester::reset(), groupFilesInBlocks::reverse, findQualityFiles::size, and theMeasurementTracker.

Member Data Documentation

◆ allSeeds

std::vector<SeedFromNuclearInteraction> NuclearInteractionFinder::allSeeds
private

Definition at line 94 of file NuclearInteractionFinder.h.

Referenced by fillSeeds(), getPersistentSeeds(), improveSeeds(), and run().

◆ checkCompletedTrack

bool NuclearInteractionFinder::checkCompletedTrack
private

If set to true check all the tracks, even those reaching the edge of the tracker

Definition at line 101 of file NuclearInteractionFinder.h.

Referenced by NuclearInteractionFinder(), and run().

◆ currentSeed

SeedFromNuclearInteraction* NuclearInteractionFinder::currentSeed
private

◆ maxHits

unsigned int NuclearInteractionFinder::maxHits
private

Definition at line 99 of file NuclearInteractionFinder.h.

Referenced by NuclearInteractionFinder(), and run().

◆ navigationSchoolName

std::string NuclearInteractionFinder::navigationSchoolName
private

Definition at line 102 of file NuclearInteractionFinder.h.

Referenced by NuclearInteractionFinder().

◆ nuclTester

NuclearTester* NuclearInteractionFinder::nuclTester
private

◆ ptMin

double NuclearInteractionFinder::ptMin
private

Definition at line 98 of file NuclearInteractionFinder.h.

◆ rescaleErrorFactor

double NuclearInteractionFinder::rescaleErrorFactor
private

Definition at line 100 of file NuclearInteractionFinder.h.

Referenced by NuclearInteractionFinder(), and run().

◆ theEstimator

const MeasurementEstimator* NuclearInteractionFinder::theEstimator
private

◆ theGeomSearchTracker

const GeometricSearchTracker* NuclearInteractionFinder::theGeomSearchTracker
private

◆ theMagField

edm::ESHandle<MagneticField> NuclearInteractionFinder::theMagField
private

Definition at line 90 of file NuclearInteractionFinder.h.

Referenced by NuclearInteractionFinder().

◆ theMeasurementTracker

const MeasurementTracker* NuclearInteractionFinder::theMeasurementTracker
private

Definition at line 87 of file NuclearInteractionFinder.h.

Referenced by improveSeeds(), NuclearInteractionFinder(), and run().

◆ theNavigationSchool

const NavigationSchool* NuclearInteractionFinder::theNavigationSchool
private

◆ thePrimaryHelix

TangentHelix* NuclearInteractionFinder::thePrimaryHelix
private

◆ thePropagator

const Propagator* NuclearInteractionFinder::thePropagator
private
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
SeedFromNuclearInteraction::setMeasurements
void setMeasurements(const TSOS &tsosAtInteractionPoint, ConstRecHitPointer ihit, ConstRecHitPointer ohit)
Fill all data members from 2 TM's where the first one is supposed to be at the interaction point.
Definition: SeedFromNuclearInteraction.cc:25
NuclearInteractionFinder::theEstimator
const MeasurementEstimator * theEstimator
Definition: NuclearInteractionFinder.h:86
LayerMeasurements::measurements
std::vector< TrajectoryMeasurement > measurements(const DetLayer &layer, const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est) const
Definition: LayerMeasurements.cc:123
NavigationSchoolRecord
Definition: NavigationSchoolRecord.h:12
mps_fire.i
i
Definition: mps_fire.py:428
NuclearInteractionFinder::allSeeds
std::vector< SeedFromNuclearInteraction > allSeeds
Definition: NuclearInteractionFinder.h:94
DetLayer
Definition: DetLayer.h:21
LocalTrajectoryParameters::signedInverseMomentum
float signedInverseMomentum() const
Signed inverse momentum q/p (zero for neutrals).
Definition: LocalTrajectoryParameters.h:113
NuclearInteractionFinder::rescaleError
TrajectoryStateOnSurface rescaleError(float rescale, const TSOS &state) const
Definition: NuclearInteractionFinder.cc:253
Trajectory::direction
PropagationDirection const & direction() const
Definition: Trajectory.cc:133
NuclearInteractionFinder::definePrimaryHelix
void definePrimaryHelix(std::vector< TrajectoryMeasurement >::const_iterator it_meas)
Calculate the parameters of the circle representing the primary track at the interaction point.
Definition: NuclearInteractionFinder.cc:130
DiDispStaMuonMonitor_cfi.pt
pt
Definition: DiDispStaMuonMonitor_cfi.py:39
convertSQLitetoXML_cfg.output
output
Definition: convertSQLitetoXML_cfg.py:72
NuclearInteractionFinder::TM
TrajectoryMeasurement TM
Definition: NuclearInteractionFinder.h:45
NuclearInteractionFinder::findCompatibleMeasurements
std::vector< TrajectoryMeasurement > findCompatibleMeasurements(const TM &lastMeas, double rescaleFactor, const LayerMeasurements &layerMeasurements) const
Find compatible TM of a TM with error rescaled by rescaleFactor.
Definition: NuclearInteractionFinder.cc:142
TrajMeasLessEstim
Definition: TrajMeasLessEstim.h:10
NuclearInteractionFinder::nav
const NavigationSchool * nav() const
Definition: NuclearInteractionFinder.h:82
TrackerRecoGeometryRecord
Definition: TrackerRecoGeometryRecord.h:14
Trajectory::foundHits
int foundHits() const
Definition: Trajectory.h:206
SeedFromNuclearInteraction
Definition: SeedFromNuclearInteraction.h:19
createJobs.tmp
tmp
align.sh
Definition: createJobs.py:716
NuclearInteractionFinder::maxHits
unsigned int maxHits
Definition: NuclearInteractionFinder.h:99
HLT_FULL_cff.measurementTrackerName
measurementTrackerName
Definition: HLT_FULL_cff.py:10332
NuclearTester::push_back
void push_back(const TM &init_tm, const TMContainer &vecTM)
Definition: NuclearTester.h:37
groupFilesInBlocks.reverse
reverse
Definition: groupFilesInBlocks.py:131
LocalTrajectoryParameters
Definition: LocalTrajectoryParameters.h:25
IdealMagneticFieldRecord
Definition: IdealMagneticFieldRecord.h:11
NuclearInteractionFinder::TSOS
TrajectoryStateOnSurface TSOS
Definition: NuclearInteractionFinder.h:43
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
NuclearInteractionFinder::fillSeeds
void fillSeeds(const std::pair< TrajectoryMeasurement, std::vector< TrajectoryMeasurement > > &tmPairs)
get the seeds at the interaction point
Definition: NuclearInteractionFinder.cc:192
NuclearTester::goodTMPair
const TMPair & goodTMPair() const
Definition: NuclearTester.h:56
NuclearInteractionFinder::theMeasurementTracker
const MeasurementTracker * theMeasurementTracker
Definition: NuclearInteractionFinder.h:87
LayerMeasurements
Definition: LayerMeasurements.h:18
NavigationSchool::nextLayers
std::vector< const DetLayer * > nextLayers(const DetLayer &detLayer, Args &&... args) const
Definition: NavigationSchool.h:33
TrajectoryStateOnSurface::freeState
FreeTrajectoryState const * freeState(bool withErrors=true) const
Definition: TrajectoryStateOnSurface.h:58
edm::EventSetup::get
T get() const
Definition: EventSetup.h:87
NuclearInteractionFinder::navigationSchoolName
std::string navigationSchoolName
Definition: NuclearInteractionFinder.h:102
CkfComponentsRecord
Definition: CkfComponentsRecord.h:22
NuclearInteractionFinder::thePropagator
const Propagator * thePropagator
Definition: NuclearInteractionFinder.h:85
NuclearTester::nuclearIndex
int nuclearIndex() const
Definition: NuclearTester.h:54
visualization-live-secondInstance_cfg.m
m
Definition: visualization-live-secondInstance_cfg.py:78
GeometricSearchTracker::detLayer
const DetLayer * detLayer(const DetId &id) const
obsolete method. Use idToLayer() instead.
Definition: GeometricSearchTracker.h:60
TrackerDigiGeometryRecord
Definition: TrackerDigiGeometryRecord.h:16
NuclearInteractionFinder::currentSeed
SeedFromNuclearInteraction * currentSeed
Definition: NuclearInteractionFinder.h:93
NuclearTester::meanHitDistance
double meanHitDistance(const std::vector< TrajectoryMeasurement > &vecTM) const
Definition: NuclearTester.cc:75
MuonErrorMatrixAdjuster_cfi.rescale
rescale
Definition: MuonErrorMatrixAdjuster_cfi.py:8
NuclearTester::back
const TMContainer & back() const
Definition: NuclearTester.h:42
edm::ESHandle< Propagator >
NuclearTester::nHitsChecked
unsigned int nHitsChecked() const
Definition: NuclearTester.h:58
Point3DBase< float, GlobalTag >
sistrip::SpyUtilities::isValid
const bool isValid(const Frame &aFrame, const FrameQuality &aQuality, const uint16_t aExpectedPos)
Definition: SiStripSpyUtilities.cc:124
NuclearInteractionFinder::rescaleErrorFactor
double rescaleErrorFactor
Definition: NuclearInteractionFinder.h:100
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:233
NuclearInteractionFinder::theMagField
edm::ESHandle< MagneticField > theMagField
Definition: NuclearInteractionFinder.h:90
NuclearTester::compatibleHits
std::vector< int > compatibleHits() const
Definition: NuclearTester.h:60
jetUpdater_cfi.sort
sort
Definition: jetUpdater_cfi.py:29
NuclearTester::isNuclearInteraction
bool isNuclearInteraction()
Definition: NuclearTester.cc:11
edm::LogError
Log< level::Error, false > LogError
Definition: MessageLogger.h:123
get
#define get
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
Trajectory::measurements
DataContainer const & measurements() const
Definition: Trajectory.h:178
NuclearInteractionFinder::checkCompletedTrack
bool checkCompletedTrack
Definition: NuclearInteractionFinder.h:101
NuclearInteractionFinder::findMeasurementsFromTSOS
std::vector< TrajectoryMeasurement > findMeasurementsFromTSOS(const TSOS &currentState, DetId detid, const LayerMeasurements &layerMeasurements) const
Definition: NuclearInteractionFinder.cc:151
NuclearInteractionFinder::theNavigationSchool
const NavigationSchool * theNavigationSchool
Definition: NuclearInteractionFinder.h:89
std
Definition: JetResolutionObject.h:76
NuclearTester
Class used to test if a track has interacted nuclearly.
Definition: NuclearTester.h:16
RunInfoPI::state
state
Definition: RunInfoPayloadInspectoHelper.h:16
NuclearInteractionFinder::thePrimaryHelix
TangentHelix * thePrimaryHelix
Definition: NuclearInteractionFinder.h:95
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
NuclearInteractionFinder::nuclTester
NuclearTester * nuclTester
Definition: NuclearInteractionFinder.h:92
TangentHelix
Definition: TangentHelix.h:6
mps_fire.result
result
Definition: mps_fire.py:311
event
Definition: event.py:1
AlgebraicSymMatrix55
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepSym< double, 5 > > AlgebraicSymMatrix55
Definition: AlgebraicROOTObjects.h:23
NuclearTester::reset
void reset(unsigned int nMeasurements)
Definition: NuclearTester.h:48
HLTObjectMonitor_cfi.mr
mr
Definition: HLTObjectMonitor_cfi.py:366
alongMomentum
Definition: PropagationDirection.h:4
NuclearTester::fwdEstimate
double fwdEstimate(const std::vector< TrajectoryMeasurement > &vecTM) const
Definition: NuclearTester.cc:107
Trajectory::isValid
bool isValid() const
Definition: Trajectory.h:257
NuclearInteractionFinder::theGeomSearchTracker
const GeometricSearchTracker * theGeomSearchTracker
Definition: NuclearInteractionFinder.h:88
findQualityFiles.size
size
Write out results.
Definition: findQualityFiles.py:443
Trajectory::empty
bool empty() const
True if trajectory has no measurements.
Definition: Trajectory.h:233
TrackingComponentsRecord
Definition: TrackingComponentsRecord.h:12