CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes
CompositeTECPetal Class Referencefinal

#include <CompositeTECPetal.h>

Inheritance diagram for CompositeTECPetal:
GeometricSearchDet

Classes

struct  WedgePar
 

Public Member Functions

const std::vector< const GeomDet * > & basicComponents () const override
 
std::pair< bool, TrajectoryStateOnSurfacecompatible (const TrajectoryStateOnSurface &ts, const Propagator &, const MeasurementEstimator &) const override __attribute__((cold))
 
const std::vector< const GeometricSearchDet * > & components () const override __attribute__((cold))
 Returns basic components, if any. More...
 
 CompositeTECPetal (std::vector< const TECWedge * > &innerWedges, std::vector< const TECWedge * > &outerWedges) __attribute__((cold))
 
void groupedCompatibleDetsV (const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const override __attribute__((hot))
 
virtual const BoundDiskSectorspecificSurface () const final
 
const BoundSurfacesurface () const final
 The surface of the GeometricSearchDet. More...
 
 ~CompositeTECPetal () override __attribute__((cold))
 
- Public Member Functions inherited from GeometricSearchDet
virtual std::vector< DetWithStatecompatibleDets (const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est) const
 
virtual void compatibleDetsV (const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetWithState > &result) const
 
 GeometricSearchDet (bool doHaveGroups)
 
virtual std::vector< DetGroupgroupedCompatibleDets (const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est) const
 
bool hasGroups () const
 
virtual const Surface::PositionTypeposition () const
 Returns position of the surface. More...
 
virtual ~GeometricSearchDet ()
 

Private Member Functions

bool addClosest (const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubLayerCrossing &crossing, std::vector< DetGroup > &result) const __attribute__((hot))
 
SubLayerCrossings computeCrossings (const TrajectoryStateOnSurface &tsos, PropagationDirection propDir) const __attribute__((hot))
 
int findBin (float R, int layer) const
 
WedgePar const & findPar (int index, int diskSectorType) const
 
void searchNeighbors (const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubLayerCrossing &crossing, float window, std::vector< DetGroup > &result, bool checkClosest) const __attribute__((hot))
 
const std::vector< const TECWedge * > & subLayer (int ind) const
 

Static Private Member Functions

static float computeWindowSize (const GeomDet *det, const TrajectoryStateOnSurface &tsos, const MeasurementEstimator &est) __attribute__((hot))
 

Private Attributes

std::vector< float > theBackBoundaries
 
std::vector< const TECWedge * > theBackComps
 
std::vector< WedgePartheBackPars
 
ReferenceCountingPointer< BoundDiskSectortheBackSector
 
std::vector< const GeomDet * > theBasicComps
 
std::vector< const GeometricSearchDet * > theComps
 
ReferenceCountingPointer< BoundDiskSectortheDiskSector
 
std::vector< float > theFrontBoundaries
 
std::vector< const TECWedge * > theFrontComps
 
std::vector< WedgePartheFrontPars
 
ReferenceCountingPointer< BoundDiskSectortheFrontSector
 

Additional Inherited Members

- Public Types inherited from GeometricSearchDet
typedef std::pair< const GeomDet *, TrajectoryStateOnSurfaceDetWithState
 
typedef BoundSurface::PositionType PositionType
 
typedef BoundSurface::RotationType RotationType
 
typedef TrajectoryStateOnSurface TrajectoryState
 
- Protected Attributes inherited from GeometricSearchDet
bool haveGroups
 
GeomDetCompatibilityChecker theCompatibilityChecker
 

Detailed Description

A concrete implementation for TEC petals

Definition at line 18 of file CompositeTECPetal.h.

Constructor & Destructor Documentation

◆ CompositeTECPetal()

CompositeTECPetal::CompositeTECPetal ( std::vector< const TECWedge * > &  innerWedges,
std::vector< const TECWedge * > &  outerWedges 
)

Definition at line 81 of file CompositeTECPetal.cc.

82  : GeometricSearchDet(true), theFrontComps(innerWedges), theBackComps(outerWedges) {
83  theComps.assign(theFrontComps.begin(), theFrontComps.end());
84  theComps.insert(theComps.end(), theBackComps.begin(), theBackComps.end());
85 
86  details::fillBoundaries(theFrontComps, theFrontBoundaries);
87  details::fillBoundaries(theBackComps, theBackBoundaries);
88  details::fillPars(theFrontComps, theFrontPars);
89  details::fillPars(theBackComps, theBackPars);
90 
91  for (vector<const GeometricSearchDet*>::const_iterator it = theComps.begin(); it != theComps.end(); it++) {
92  theBasicComps.insert(theBasicComps.end(), (**it).basicComponents().begin(), (**it).basicComponents().end());
93  }
94 
95  //the Wedge are already R ordered
96  //sort( theWedges.begin(), theWedges.end(), DetLessR());
97  //sort( theFrontWedges.begin(), theFrontWedges.end(), DetLessR() );
98  //sort( theBackWedges.begin(), theBackWedges.end(), DetLessR() );
99  vector<const TECWedge*> allWedges;
100  allWedges.assign(innerWedges.begin(), innerWedges.end());
101  allWedges.insert(allWedges.end(), outerWedges.begin(), outerWedges.end());
102 
106 
107  //--------- DEBUG INFO --------------
108  LogDebug("TkDetLayers") << "DEBUG INFO for CompositeTECPetal";
109 
110  for (auto it = theFrontComps.begin(); it != theFrontComps.end(); it++) {
111  LogDebug("TkDetLayers") << "frontWedge phi,z,r: " << (*it)->surface().position().phi() << " , "
112  << (*it)->surface().position().z() << " , " << (*it)->surface().position().perp();
113  }
114 
115  for (auto it = theBackComps.begin(); it != theBackComps.end(); it++) {
116  LogDebug("TkDetLayers") << "backWedge phi,z,r: " << (*it)->surface().position().phi() << " , "
117  << (*it)->surface().position().z() << " , " << (*it)->surface().position().perp();
118  }
119  //-----------------------------------
120 }

References LogDebug, theBackBoundaries, theBackComps, theBackPars, theBackSector, theBasicComps, theComps, theDiskSector, theFrontBoundaries, theFrontComps, theFrontPars, and theFrontSector.

◆ ~CompositeTECPetal()

CompositeTECPetal::~CompositeTECPetal ( )
override

Definition at line 122 of file CompositeTECPetal.cc.

122  {
123  vector<const GeometricSearchDet*>::const_iterator i;
124  for (i = theComps.begin(); i != theComps.end(); i++) {
125  delete *i;
126  }
127 }

References mps_fire::i, and theComps.

Member Function Documentation

◆ addClosest()

bool CompositeTECPetal::addClosest ( const TrajectoryStateOnSurface tsos,
const Propagator prop,
const MeasurementEstimator est,
const SubLayerCrossing crossing,
std::vector< DetGroup > &  result 
) const
private

Definition at line 218 of file CompositeTECPetal.cc.

222  {
223  auto det = subLayer(crossing.subLayerIndex())[crossing.closestDetIndex()];
224 
225  LogDebug("TkDetLayers") << "in TECPetal, adding Wedge at r,z,phi: (" << det->position().perp() << ","
226  << det->position().z() << "," << det->position().phi() << ")";
227  LogDebug("TkDetLayers") << "wedge comps size: " << det->basicComponents().size();
228 
229  return CompatibleDetToGroupAdder::add(*det, tsos, prop, est, result);
230 }

References CompatibleDetToGroupAdder::add(), SubLayerCrossing::closestDetIndex(), LogDebug, mps_fire::result, subLayer(), and SubLayerCrossing::subLayerIndex().

Referenced by groupedCompatibleDetsV().

◆ basicComponents()

const std::vector<const GeomDet*>& CompositeTECPetal::basicComponents ( ) const
inlineoverridevirtual

Implements GeometricSearchDet.

Definition at line 35 of file CompositeTECPetal.h.

35 { return theBasicComps; }

References theBasicComps.

◆ compatible()

pair< bool, TrajectoryStateOnSurface > CompositeTECPetal::compatible ( const TrajectoryStateOnSurface ts,
const Propagator ,
const MeasurementEstimator  
) const
overridevirtual

tests the geometrical compatibility of the Det with the predicted state. The FreeTrajectoryState argument is propagated to the Det surface using the Propagator argument. The resulting TrajectoryStateOnSurface is tested for compatibility with the surface bounds. If compatible, a std::pair< true, propagatedState> is returned. If the propagation fails, or if the state is not compatible, a std::pair< false, propagatedState> is returned.

Implements GeometricSearchDet.

Definition at line 129 of file CompositeTECPetal.cc.

131  {
132  edm::LogError("TkDetLayers") << "temporary dummy implementation of CompositeTECPetal::compatible()!!";
133  return pair<bool, TrajectoryStateOnSurface>();
134 }

◆ components()

const std::vector<const GeometricSearchDet*>& CompositeTECPetal::components ( ) const
inlineoverridevirtual

Returns basic components, if any.

Returns direct components, if any

Implements GeometricSearchDet.

Definition at line 37 of file CompositeTECPetal.h.

37 { return theComps; }

References theComps.

◆ computeCrossings()

SubLayerCrossings CompositeTECPetal::computeCrossings ( const TrajectoryStateOnSurface tsos,
PropagationDirection  propDir 
) const
private

Definition at line 175 of file CompositeTECPetal.cc.

176  {
177  HelixPlaneCrossing::PositionType startPos(startingState.globalPosition());
178  HelixPlaneCrossing::DirectionType startDir(startingState.globalMomentum());
179 
180  auto rho = startingState.transverseCurvature();
181 
182  HelixForwardPlaneCrossing crossing(startPos, startDir, rho, propDir);
183 
184  pair<bool, double> frontPath = crossing.pathLength(*theFrontSector);
185  if (!frontPath.first)
186  return SubLayerCrossings();
187 
188  pair<bool, double> backPath = crossing.pathLength(*theBackSector);
189  if (!backPath.first)
190  return SubLayerCrossings();
191 
192  GlobalPoint gFrontPoint(crossing.position(frontPath.second));
193  GlobalPoint gBackPoint(crossing.position(backPath.second));
194 
195  LogDebug("TkDetLayers") << "in TECPetal,front crossing : r,z,phi: (" << gFrontPoint.perp() << "," << gFrontPoint.z()
196  << "," << gFrontPoint.phi() << ")";
197 
198  LogDebug("TkDetLayers") << "in TECPetal,back crossing r,z,phi: (" << gBackPoint.perp() << "," << gBackPoint.z() << ","
199  << gBackPoint.phi() << ")";
200 
201  int frontIndex = findBin(gFrontPoint.perp(), 0);
202  SubLayerCrossing frontSLC(0, frontIndex, gFrontPoint);
203 
204  int backIndex = findBin(gBackPoint.perp(), 1);
205  SubLayerCrossing backSLC(1, backIndex, gBackPoint);
206 
207  auto frontDist = std::abs(theFrontPars[frontIndex].theR - gFrontPoint.perp());
208  auto backDist = std::abs(theBackPars[backIndex].theR - gBackPoint.perp());
209 
210  // 0ss: frontDisk has index=0, backDisk has index=1
211  if (frontDist < backDist) {
212  return SubLayerCrossings(frontSLC, backSLC, 0);
213  } else {
214  return SubLayerCrossings(backSLC, frontSLC, 1);
215  }
216 }

References funct::abs(), findBin(), TrajectoryStateOnSurface::globalMomentum(), TrajectoryStateOnSurface::globalPosition(), LogDebug, HelixForwardPlaneCrossing::pathLength(), HelixForwardPlaneCrossing::position(), rho, theBackPars, theBackSector, theFrontPars, theFrontSector, and TrajectoryStateOnSurface::transverseCurvature().

Referenced by groupedCompatibleDetsV().

◆ computeWindowSize()

float CompositeTECPetal::computeWindowSize ( const GeomDet det,
const TrajectoryStateOnSurface tsos,
const MeasurementEstimator est 
)
staticprivate

Definition at line 283 of file CompositeTECPetal.cc.

285  {
286  return est.maximalLocalDisplacement(tsos, det->surface()).y();
287 }

References MeasurementEstimator::maximalLocalDisplacement(), GeomDet::surface(), and y.

Referenced by groupedCompatibleDetsV().

◆ findBin()

int CompositeTECPetal::findBin ( float  R,
int  layer 
) const
private

Definition at line 289 of file CompositeTECPetal.cc.

289  {
290  return details::findBin(diskSectorType == 0 ? theFrontBoundaries : theBackBoundaries, R);
291 }

References dttmaxenums::R, theBackBoundaries, and theFrontBoundaries.

Referenced by computeCrossings().

◆ findPar()

WedgePar const& CompositeTECPetal::findPar ( int  index,
int  diskSectorType 
) const
inlineprivate

Definition at line 76 of file CompositeTECPetal.h.

76  {
77  return (diskSectorType == 0) ? theFrontPars[index] : theBackPars[index];
78  }

References theBackPars, and theFrontPars.

Referenced by searchNeighbors().

◆ groupedCompatibleDetsV()

void CompositeTECPetal::groupedCompatibleDetsV ( const TrajectoryStateOnSurface startingState,
const Propagator prop,
const MeasurementEstimator est,
std::vector< DetGroup > &  result 
) const
overridevirtual

Reimplemented from GeometricSearchDet.

Definition at line 136 of file CompositeTECPetal.cc.

139  {
140  vector<DetGroup> closestResult;
141  SubLayerCrossings crossings;
142  crossings = computeCrossings(tsos, prop.propagationDirection());
143  if (!crossings.isValid())
144  return;
145 
146  addClosest(tsos, prop, est, crossings.closest(), closestResult);
147  LogDebug("TkDetLayers") << "in TECPetal, closestResult.size(): " << closestResult.size();
148 
149  if (closestResult.empty()) {
150  vector<DetGroup> nextResult;
151  addClosest(tsos, prop, est, crossings.other(), nextResult);
152  LogDebug("TkDetLayers") << "in TECPetal, nextResult.size(): " << nextResult.size();
153  if (nextResult.empty())
154  return;
155 
156  DetGroupElement nextGel(nextResult.front().front());
157  int crossingSide = LayerCrossingSide::endcapSide(nextGel.trajectoryState(), prop);
159  std::move(closestResult), std::move(nextResult), result, crossings.closestIndex(), crossingSide);
160  } else {
161  DetGroupElement closestGel(closestResult.front().front());
162  float window = computeWindowSize(closestGel.det(), closestGel.trajectoryState(), est);
163 
164  searchNeighbors(tsos, prop, est, crossings.closest(), window, closestResult, false);
165 
166  vector<DetGroup> nextResult;
167  searchNeighbors(tsos, prop, est, crossings.other(), window, nextResult, true);
168 
169  int crossingSide = LayerCrossingSide::endcapSide(closestGel.trajectoryState(), prop);
171  std::move(closestResult), std::move(nextResult), result, crossings.closestIndex(), crossingSide);
172  }
173 }

References addClosest(), SubLayerCrossings::closest(), SubLayerCrossings::closestIndex(), computeCrossings(), computeWindowSize(), LayerCrossingSide::endcapSide(), SubLayerCrossings::isValid(), LogDebug, eostools::move(), DetGroupMerger::orderAndMergeTwoLevels(), SubLayerCrossings::other(), Propagator::propagationDirection(), mps_fire::result, searchNeighbors(), and svgfig::window().

◆ searchNeighbors()

void CompositeTECPetal::searchNeighbors ( const TrajectoryStateOnSurface tsos,
const Propagator prop,
const MeasurementEstimator est,
const SubLayerCrossing crossing,
float  window,
std::vector< DetGroup > &  result,
bool  checkClosest 
) const
private

Definition at line 232 of file CompositeTECPetal.cc.

238  {
239  const GlobalPoint& gCrossingPos = crossing.position();
240 
241  int closestIndex = crossing.closestDetIndex();
242  int negStartIndex = closestIndex - 1;
243  int posStartIndex = closestIndex + 1;
244 
245  float detR = findPar(closestIndex, crossing.subLayerIndex()).theR;
246 
247  if (checkClosest) { // must decide if the closest is on the neg or pos side
248  if (gCrossingPos.perp2() < detR * detR) {
249  posStartIndex = closestIndex;
250  } else {
251  negStartIndex = closestIndex;
252  }
253  }
254 
255  const std::vector<const TECWedge*>& sLayer = subLayer(crossing.subLayerIndex());
256 
257  //const BinFinderType& binFinder = (crossing.subLayerIndex()==0 ? theFrontBinFinder : theBackBinFinder);
258  int theSize = crossing.subLayerIndex() == 0 ? theFrontComps.size() : theBackComps.size();
259 
260  typedef CompatibleDetToGroupAdder Adder;
261  for (int idet = negStartIndex; idet >= 0; idet--) {
262  //if(idet<0 || idet>= theSize) {edm::LogInfo(TkDetLayers) << "===== error! gone out vector bounds.idet: " << idet ;exit;}
263  const GeometricSearchDet& neighborWedge = *sLayer[idet];
264  WedgePar const& wpar = findPar(idet, crossing.subLayerIndex());
265  if (!details::overlap(gCrossingPos, wpar, window))
266  break; // --- to check
267  if (!Adder::add(neighborWedge, tsos, prop, est, result))
268  break;
269  // maybe also add shallow crossing angle test here???
270  }
271  for (int idet = posStartIndex; idet < theSize; idet++) {
272  //if(idet<0 || idet>= theSize) {edm::LogInfo(TkDetLayers) << "===== error! gone out vector bounds.idet: " << idet ;exit;}
273  const GeometricSearchDet& neighborWedge = *sLayer[idet];
274  WedgePar const& wpar = findPar(idet, crossing.subLayerIndex());
275  if (!details::overlap(gCrossingPos, wpar, window))
276  break; // ---- to check
277  if (!Adder::add(neighborWedge, tsos, prop, est, result))
278  break;
279  // maybe also add shallow crossing angle test here???
280  }
281 }

References PVValHelper::add(), SubLayerCrossing::closestDetIndex(), findPar(), goodZToMuMu_cfi::overlap, PV3DBase< T, PVType, FrameType >::perp2(), SubLayerCrossing::position(), mps_fire::result, subLayer(), SubLayerCrossing::subLayerIndex(), theBackComps, theFrontComps, and svgfig::window().

Referenced by groupedCompatibleDetsV().

◆ specificSurface()

virtual const BoundDiskSector& CompositeTECPetal::specificSurface ( ) const
inlinefinalvirtual

Definition at line 32 of file CompositeTECPetal.h.

32 { return *theDiskSector; }

References theDiskSector.

◆ subLayer()

const std::vector<const TECWedge*>& CompositeTECPetal::subLayer ( int  ind) const
inlineprivate

Definition at line 80 of file CompositeTECPetal.h.

80  {
81  return (ind == 0 ? theFrontComps : theBackComps);
82  }

References theBackComps, and theFrontComps.

Referenced by addClosest(), and searchNeighbors().

◆ surface()

const BoundSurface& CompositeTECPetal::surface ( ) const
inlinefinalvirtual

The surface of the GeometricSearchDet.

Implements GeometricSearchDet.

Definition at line 30 of file CompositeTECPetal.h.

30 { return *theDiskSector; }

References theDiskSector.

Member Data Documentation

◆ theBackBoundaries

std::vector<float> CompositeTECPetal::theBackBoundaries
private

Definition at line 92 of file CompositeTECPetal.h.

Referenced by CompositeTECPetal(), and findBin().

◆ theBackComps

std::vector<const TECWedge*> CompositeTECPetal::theBackComps
private

Definition at line 89 of file CompositeTECPetal.h.

Referenced by CompositeTECPetal(), searchNeighbors(), and subLayer().

◆ theBackPars

std::vector<WedgePar> CompositeTECPetal::theBackPars
private

Definition at line 94 of file CompositeTECPetal.h.

Referenced by CompositeTECPetal(), computeCrossings(), and findPar().

◆ theBackSector

ReferenceCountingPointer<BoundDiskSector> CompositeTECPetal::theBackSector
private

Definition at line 97 of file CompositeTECPetal.h.

Referenced by CompositeTECPetal(), and computeCrossings().

◆ theBasicComps

std::vector<const GeomDet*> CompositeTECPetal::theBasicComps
private

Definition at line 85 of file CompositeTECPetal.h.

Referenced by basicComponents(), and CompositeTECPetal().

◆ theComps

std::vector<const GeometricSearchDet*> CompositeTECPetal::theComps
private

Definition at line 86 of file CompositeTECPetal.h.

Referenced by components(), CompositeTECPetal(), and ~CompositeTECPetal().

◆ theDiskSector

ReferenceCountingPointer<BoundDiskSector> CompositeTECPetal::theDiskSector
private

Definition at line 50 of file CompositeTECPetal.h.

Referenced by CompositeTECPetal(), specificSurface(), and surface().

◆ theFrontBoundaries

std::vector<float> CompositeTECPetal::theFrontBoundaries
private

Definition at line 91 of file CompositeTECPetal.h.

Referenced by CompositeTECPetal(), and findBin().

◆ theFrontComps

std::vector<const TECWedge*> CompositeTECPetal::theFrontComps
private

Definition at line 88 of file CompositeTECPetal.h.

Referenced by CompositeTECPetal(), searchNeighbors(), and subLayer().

◆ theFrontPars

std::vector<WedgePar> CompositeTECPetal::theFrontPars
private

Definition at line 93 of file CompositeTECPetal.h.

Referenced by CompositeTECPetal(), computeCrossings(), and findPar().

◆ theFrontSector

ReferenceCountingPointer<BoundDiskSector> CompositeTECPetal::theFrontSector
private

Definition at line 96 of file CompositeTECPetal.h.

Referenced by CompositeTECPetal(), and computeCrossings().

SubLayerCrossing::position
const GlobalPoint & position() const
Definition: SubLayerCrossings.h:14
SubLayerCrossings::isValid
bool isValid()
Definition: SubLayerCrossings.h:28
DDAxes::y
mps_fire.i
i
Definition: mps_fire.py:355
GeometricSearchDet::GeometricSearchDet
GeometricSearchDet(bool doHaveGroups)
Definition: GeometricSearchDet.h:24
CompositeTECPetal::theBasicComps
std::vector< const GeomDet * > theBasicComps
Definition: CompositeTECPetal.h:85
CompositeTECPetal::theBackSector
ReferenceCountingPointer< BoundDiskSector > theBackSector
Definition: CompositeTECPetal.h:97
SubLayerCrossings::closestIndex
int closestIndex() const
Definition: SubLayerCrossings.h:31
CompositeTECPetal::theFrontPars
std::vector< WedgePar > theFrontPars
Definition: CompositeTECPetal.h:93
svgfig.window
def window(xmin, xmax, ymin, ymax, x=0, y=0, width=100, height=100, xlogbase=None, ylogbase=None, minusInfinity=-1000, flipx=False, flipy=True)
Definition: svgfig.py:643
CompositeTECPetal::subLayer
const std::vector< const TECWedge * > & subLayer(int ind) const
Definition: CompositeTECPetal.h:80
CompositeTECPetal::findBin
int findBin(float R, int layer) const
Definition: CompositeTECPetal.cc:289
GeomDet::surface
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
LayerCrossingSide::endcapSide
static int endcapSide(const TrajectoryStateOnSurface &startingState, const Propagator &prop)
Definition: LayerCrossingSide.h:31
Propagator::propagationDirection
virtual PropagationDirection propagationDirection() const final
Definition: Propagator.h:139
CompositeTECPetal::theFrontComps
std::vector< const TECWedge * > theFrontComps
Definition: CompositeTECPetal.h:88
Point3DBase< float, GlobalTag >
DetGroupMerger::orderAndMergeTwoLevels
static void orderAndMergeTwoLevels(std::vector< DetGroup > &&one, std::vector< DetGroup > &&two, std::vector< DetGroup > &result, int firstIndex, int firstCrossed)
Definition: DetGroupMerger.cc:6
DDAxes::rho
CompositeTECPetal::theFrontSector
ReferenceCountingPointer< BoundDiskSector > theFrontSector
Definition: CompositeTECPetal.h:96
CompatibleDetToGroupAdder::add
static bool add(const GeometricSearchDet &det, const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) __attribute__((hot))
Definition: CompatibleDetToGroupAdder.cc:7
SubLayerCrossings::closest
const SubLayerCrossing & closest() const
Definition: SubLayerCrossings.h:29
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:670
edm::LogError
Definition: MessageLogger.h:183
PVValHelper::add
void add(std::map< std::string, TH1 * > &h, TH1 *hist)
Definition: PVValidationHelpers.cc:12
CompositeTECPetal::findPar
WedgePar const & findPar(int index, int diskSectorType) const
Definition: CompositeTECPetal.h:76
CompositeTECPetal::theComps
std::vector< const GeometricSearchDet * > theComps
Definition: CompositeTECPetal.h:86
SubLayerCrossing::closestDetIndex
int closestDetIndex() const
Definition: SubLayerCrossings.h:13
CompositeTECPetal::theBackComps
std::vector< const TECWedge * > theBackComps
Definition: CompositeTECPetal.h:89
DetGroupElement
Definition: DetGroup.h:10
goodZToMuMu_cfi.overlap
overlap
Definition: goodZToMuMu_cfi.py:108
ForwardDiskSectorBuilderFromWedges
Definition: ForwardDiskSectorBuilderFromWedges.h:15
CompositeTECPetal::computeCrossings
SubLayerCrossings computeCrossings(const TrajectoryStateOnSurface &tsos, PropagationDirection propDir) const __attribute__((hot))
Definition: CompositeTECPetal.cc:175
CompositeTECPetal::theBackBoundaries
std::vector< float > theBackBoundaries
Definition: CompositeTECPetal.h:92
eostools.move
def move(src, dest)
Definition: eostools.py:511
CompositeTECPetal::computeWindowSize
static float computeWindowSize(const GeomDet *det, const TrajectoryStateOnSurface &tsos, const MeasurementEstimator &est) __attribute__((hot))
Definition: CompositeTECPetal.cc:283
CompositeTECPetal::theDiskSector
ReferenceCountingPointer< BoundDiskSector > theDiskSector
Definition: CompositeTECPetal.h:50
CompatibleDetToGroupAdder
Definition: CompatibleDetToGroupAdder.h:13
SubLayerCrossings::other
const SubLayerCrossing & other() const
Definition: SubLayerCrossings.h:30
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
SubLayerCrossing
Definition: SubLayerCrossings.h:7
SubLayerCrossing::subLayerIndex
int subLayerIndex() const
Definition: SubLayerCrossings.h:12
mps_fire.result
result
Definition: mps_fire.py:303
HelixForwardPlaneCrossing
Definition: HelixForwardPlaneCrossing.h:13
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
GeometricSearchDet
Definition: GeometricSearchDet.h:17
dttmaxenums::R
Definition: DTTMax.h:29
CompositeTECPetal::theBackPars
std::vector< WedgePar > theBackPars
Definition: CompositeTECPetal.h:94
CompositeTECPetal::addClosest
bool addClosest(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubLayerCrossing &crossing, std::vector< DetGroup > &result) const __attribute__((hot))
Definition: CompositeTECPetal.cc:218
CompositeTECPetal::theFrontBoundaries
std::vector< float > theFrontBoundaries
Definition: CompositeTECPetal.h:91
Basic3DVector< float >
PV3DBase::perp2
T perp2() const
Definition: PV3DBase.h:68
MeasurementEstimator::maximalLocalDisplacement
virtual Local2DVector maximalLocalDisplacement(const TrajectoryStateOnSurface &ts, const Plane &plane) const =0
SubLayerCrossings
Definition: SubLayerCrossings.h:22
CompositeTECPetal::searchNeighbors
void searchNeighbors(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubLayerCrossing &crossing, float window, std::vector< DetGroup > &result, bool checkClosest) const __attribute__((hot))
Definition: CompositeTECPetal.cc:232