CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Attributes | Static Protected Attributes
MultipleScatteringGeometry Class Reference

#include <MultipleScatteringGeometry.h>

Public Member Functions

std::vector< MSLayerdetLayers (const edm::EventSetup &iSetup) const
 
std::vector< MSLayerdetLayers (float eta, float z, const edm::EventSetup &iSetup) const
 
 MultipleScatteringGeometry (const edm::EventSetup &iSetup)
 
std::vector< MSLayerotherLayers (float eta, const edm::EventSetup &iSetup) const
 

Protected Attributes

std::vector< const DetLayer * > theLayers
 

Static Protected Attributes

static const float beamPipeR = 2.94
 
static const float endflangesZ = 30
 
static const float supportR = 19.
 

Detailed Description

Definition at line 11 of file MultipleScatteringGeometry.h.

Constructor & Destructor Documentation

◆ MultipleScatteringGeometry()

MultipleScatteringGeometry::MultipleScatteringGeometry ( const edm::EventSetup iSetup)

Definition at line 22 of file MultipleScatteringGeometry.cc.

22  {
25 
26  vector<BarrelDetLayer const *> barrelLayers = track->barrelLayers();
27  vector<BarrelDetLayer const *>::const_iterator ib;
28  vector<ForwardDetLayer const *> forwardPosLayers = track->posForwardLayers();
29  vector<ForwardDetLayer const *> forwardNegLayers = track->negForwardLayers();
30  vector<ForwardDetLayer const *>::const_iterator ie;
31  // barrelLayers = accessor.barrelLayers();
32  for (ib = barrelLayers.begin(); ib != barrelLayers.end(); ib++)
33  theLayers.push_back(*ib);
34 
35  // forwardLayers = accessor.negativeEndcapLayers();
36  for (ie = forwardPosLayers.begin(); ie != forwardPosLayers.end(); ie++)
37  theLayers.push_back(*ie);
38  for (ie = forwardNegLayers.begin(); ie != forwardNegLayers.end(); ie++)
39  theLayers.push_back(*ie);
40 }

References edm::EventSetup::get(), get, cuy::ib, and HLT_2018_cff::track.

Member Function Documentation

◆ detLayers() [1/2]

vector< MSLayer > MultipleScatteringGeometry::detLayers ( const edm::EventSetup iSetup) const

Definition at line 43 of file MultipleScatteringGeometry.cc.

43  {
44  vector<MSLayer> result;
45  vector<const DetLayer *>::const_iterator il;
46  for (il = theLayers.begin(); il != theLayers.end(); il++)
47  result.push_back(MSLayer(*il));
48  return result;
49 }

References mps_fire::result.

◆ detLayers() [2/2]

vector< MSLayer > MultipleScatteringGeometry::detLayers ( float  eta,
float  z,
const edm::EventSetup iSetup 
) const

Definition at line 52 of file MultipleScatteringGeometry.cc.

52  {
53  vector<MSLayer> result;
54  GlobalPoint zero(0, 0, z);
55  float r = 1;
56  float dirZ = r * sinh(eta);
57  GlobalVector dir(r, 0., dirZ);
59  iSetup.get<IdealMagneticFieldRecord>().get(pSetup);
60  FreeTrajectoryState fts(GlobalTrajectoryParameters(zero, dir, 1, &(*pSetup)));
62  vector<const DetLayer *>::const_iterator il;
64  for (il = theLayers.begin(); il != theLayers.end(); il++) {
65  bool contains = false;
66  // if ((*il)->subDetector() != PixelBarrel && (*il)->subDetector()!= PixelEndcap) continue;
67 
68  if ((*il)->location() == barrel) {
69  const BarrelDetLayer *bl = dynamic_cast<const BarrelDetLayer *>(*il);
70  if (!bl)
71  continue;
72  tsos = propagator.propagate(fts, bl->specificSurface());
73  if (!tsos.isValid())
74  continue;
75  float r = bl->specificSurface().radius();
76  float dr = bl->specificSurface().bounds().thickness();
77  float z = bl->position().z();
78  float dz = bl->specificSurface().bounds().length();
79  PixelRecoRange<float> rRange(r - dr / 2., r + dr / 2.);
80  PixelRecoRange<float> zRange(z - dz / 2., z + dz / 2.);
81  contains = rRange.inside(tsos.globalPosition().perp()) && zRange.inside(tsos.globalPosition().z());
82  // contains = bl->contains((*il)->toLocal(tsos.globalPosition()));
83  } else if ((*il)->location() == endcap) {
84  const ForwardDetLayer *fl = dynamic_cast<const ForwardDetLayer *>(*il);
85  if (!fl)
86  continue;
87  if (fl->position().z() * eta < 0)
88  continue;
89  const BoundDisk &disk = fl->specificSurface();
90  tsos = propagator.propagate(fts, disk);
91  if (!tsos.isValid())
92  continue;
93  float zMin = disk.position().z() - disk.bounds().thickness() / 2;
94  float zMax = disk.position().z() + disk.bounds().thickness() / 2;
95  PixelRecoRange<float> rRange(disk.innerRadius(), disk.outerRadius());
97  contains = rRange.inside(tsos.globalPosition().perp()) && zRange.inside(tsos.globalPosition().z());
98  // contains = fl->contains(fl->toLocal(tsos.globalPosition()));
99  }
100  if (contains)
101  result.push_back(MSLayer(*il));
102  }
103  return result;
104 }

References alongMomentum, GeomDetEnumerators::barrel, edm::contains(), DeadROC_duringRun::dir, flavorHistoryFilter_cfi::dr, PVValHelper::dz, GeomDetEnumerators::endcap, PVValHelper::eta, edm::EventSetup::get(), get, TrajectoryStateOnSurface::globalPosition(), PixelRecoRange< T >::inside(), TrajectoryStateOnSurface::isValid(), PV3DBase< T, PVType, FrameType >::perp(), GeometricSearchDet::position(), TrackCandidateProducer_cfi::propagator, alignCSCRings::r, mps_fire::result, ForwardDetLayer::specificSurface(), BarrelDetLayer::specificSurface(), PV3DBase< T, PVType, FrameType >::z(), photonAnalyzer_cfi::zMax, photonAnalyzer_cfi::zMin, and beampixel_dqm_sourceclient-live_cfg::zRange.

◆ otherLayers()

vector< MSLayer > MultipleScatteringGeometry::otherLayers ( float  eta,
const edm::EventSetup iSetup 
) const

Definition at line 106 of file MultipleScatteringGeometry.cc.

106  {
107  vector<MSLayer> result;
108  // zero
109  // MSLayer zero(barrel, 0., MSLayer::Range(-15,15));
110  // result.push_back(zero);
111 
112  // beampipe
113  MSLayer beampipe(barrel, beamPipeR, MSLayer::Range(-100, 100));
114 
115  result.push_back(beampipe);
116 
117  // endflanges
118  PixelRecoPointRZ endfPoint = (eta > 0) ? PixelRecoPointRZ(endflangesZ / sinh(eta), endflangesZ)
120  if (0 < endfPoint.r() && endfPoint.r() < supportR) {
121  MSLayer endflanges(endcap, endfPoint.z(), MSLayer::Range(0.1, supportR - 0.1));
122  result.push_back(endflanges);
123  }
124 
125  // support
126  MSLayer support(barrel, supportR, MSLayer::Range(-280, 280));
127  result.push_back(support);
128 
129  return result;
130 }

References GeomDetEnumerators::barrel, GeomDetEnumerators::endcap, PVValHelper::eta, PixelRecoPointRZ::r(), mps_fire::result, and PixelRecoPointRZ::z().

Member Data Documentation

◆ beamPipeR

const float MultipleScatteringGeometry::beamPipeR = 2.94
staticprotected

Definition at line 20 of file MultipleScatteringGeometry.h.

◆ endflangesZ

const float MultipleScatteringGeometry::endflangesZ = 30
staticprotected

Definition at line 20 of file MultipleScatteringGeometry.h.

◆ supportR

const float MultipleScatteringGeometry::supportR = 19.
staticprotected

Definition at line 20 of file MultipleScatteringGeometry.h.

◆ theLayers

std::vector<const DetLayer *> MultipleScatteringGeometry::theLayers
protected

Definition at line 19 of file MultipleScatteringGeometry.h.

Vector3DBase
Definition: Vector3DBase.h:8
PixelRecoPointRZ::r
float r() const
Definition: PixelRecoPointRZ.h:10
Reference_intrackfit_cff.barrel
list barrel
Definition: Reference_intrackfit_cff.py:37
photonAnalyzer_cfi.zMax
zMax
Definition: photonAnalyzer_cfi.py:95
MultipleScatteringGeometry::theLayers
std::vector< const DetLayer * > theLayers
Definition: MultipleScatteringGeometry.h:19
TrajectoryStateOnSurface::globalPosition
GlobalPoint globalPosition() const
Definition: TrajectoryStateOnSurface.h:65
TrackerRecoGeometryRecord
Definition: TrackerRecoGeometryRecord.h:11
makeMuonMisalignmentScenario.endcap
endcap
Definition: makeMuonMisalignmentScenario.py:320
GeometricSearchDet::position
virtual const Surface::PositionType & position() const
Returns position of the surface.
Definition: GeometricSearchDet.h:31
BoundDisk
PV3DBase::z
T z() const
Definition: PV3DBase.h:61
PixelRecoPointRZ::z
float z() const
Definition: PixelRecoPointRZ.h:11
IdealMagneticFieldRecord
Definition: IdealMagneticFieldRecord.h:11
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
edm::EventSetup::get
T get() const
Definition: EventSetup.h:73
TrackCandidateProducer_cfi.propagator
propagator
Definition: TrackCandidateProducer_cfi.py:17
beampixel_dqm_sourceclient-live_cfg.zRange
zRange
Definition: beampixel_dqm_sourceclient-live_cfg.py:148
MSLayer::Range
PixelRecoRange< float > Range
Definition: MSLayer.h:15
PVValHelper::eta
Definition: PVValidationHelpers.h:69
DDAxes::z
edm::ESHandle< GeometricSearchTracker >
GlobalTrajectoryParameters
Definition: GlobalTrajectoryParameters.h:15
Point3DBase< float, GlobalTag >
MSLayer
Definition: MSLayer.h:13
PixelRecoRange< float >
StraightLinePropagator
Definition: StraightLinePropagator.h:16
MultipleScatteringGeometry::supportR
static const float supportR
Definition: MultipleScatteringGeometry.h:20
photonAnalyzer_cfi.zMin
zMin
Definition: photonAnalyzer_cfi.py:94
cuy.ib
ib
Definition: cuy.py:662
edm::contains
bool contains(EventRange const &lh, EventID const &rh)
Definition: EventRange.cc:37
get
#define get
BarrelDetLayer
Definition: BarrelDetLayer.h:22
PixelRecoPointRZ
Definition: PixelRecoPointRZ.h:6
alignCSCRings.r
r
Definition: alignCSCRings.py:93
MultipleScatteringGeometry::endflangesZ
static const float endflangesZ
Definition: MultipleScatteringGeometry.h:20
ForwardDetLayer
Definition: ForwardDetLayer.h:22
FreeTrajectoryState
Definition: FreeTrajectoryState.h:27
PVValHelper::dz
Definition: PVValidationHelpers.h:50
MultipleScatteringGeometry::beamPipeR
static const float beamPipeR
Definition: MultipleScatteringGeometry.h:20
flavorHistoryFilter_cfi.dr
dr
Definition: flavorHistoryFilter_cfi.py:37
HLT_2018_cff.track
track
Definition: HLT_2018_cff.py:10352
mps_fire.result
result
Definition: mps_fire.py:303
BarrelDetLayer::specificSurface
virtual const BoundCylinder & specificSurface() const final
Extension of the interface.
Definition: BarrelDetLayer.h:39
PV3DBase::perp
T perp() const
Definition: PV3DBase.h:69
alongMomentum
Definition: PropagationDirection.h:4
TrajectoryStateOnSurface::isValid
bool isValid() const
Definition: TrajectoryStateOnSurface.h:54
ForwardDetLayer::specificSurface
virtual const BoundDisk & specificSurface() const final
Definition: ForwardDetLayer.h:39
DeadROC_duringRun.dir
dir
Definition: DeadROC_duringRun.py:23