CMS 3D CMS Logo

MuonShowerInformationFiller.h
Go to the documentation of this file.
1 
12 #ifndef MuonIdentification_MuonShowerInformationFiller_h
13 #define MuonIdentification_MuonShowerInformationFiller_h
14 
15 #include <vector>
16 
19 
34 
37 
39 
41 
42 namespace edm {
43  class ParameterSet;
44  class Event;
45  class EventSetup;
46 } // namespace edm
47 namespace reco {
48  class TransientTrack;
49  struct MuonShower;
50 } // namespace reco
51 
52 class MuonServiceProxy;
53 class Trajectory;
54 class Cylinder;
55 class Disk;
56 class BarrelDetLayer;
57 class ForwardDetLayer;
62 
64 public:
68 
69 public:
73 
76 
79 
81  virtual void setEvent(const edm::Event&);
82 
84  void setServices(const edm::EventSetup&);
85 
86  //set the data members
87  void fillHitsByStation(const reco::Muon&);
88 
89 protected:
90  const MuonServiceProxy* getService() const { return theService; }
91 
92 private:
93  std::vector<float> theStationShowerDeltaR;
94  std::vector<float> theStationShowerTSize;
95  std::vector<int> theAllStationHits;
96  std::vector<int> theCorrelatedStationHits;
97 
99 
100  GlobalPoint crossingPoint(const GlobalPoint&, const GlobalPoint&, const BarrelDetLayer*) const;
101  GlobalPoint crossingPoint(const GlobalPoint&, const GlobalPoint&, const Cylinder&) const;
102  GlobalPoint crossingPoint(const GlobalPoint&, const GlobalPoint&, const ForwardDetLayer*) const;
103  GlobalPoint crossingPoint(const GlobalPoint&, const GlobalPoint&, const Disk&) const;
104  std::vector<const GeomDet*> dtPositionToDets(const GlobalPoint&) const;
105  std::vector<const GeomDet*> cscPositionToDets(const GlobalPoint&) const;
108  const GlobalPoint&) const;
112  std::vector<const GeomDet*> getCompatibleDets(const reco::Track&) const;
113 
114  struct LessMag {
116  bool operator()(const GlobalPoint& lhs, const GlobalPoint& rhs) const {
117  return (lhs - thePoint).mag() < (rhs - thePoint).mag();
118  }
121  return (lhs->globalPosition() - thePoint).mag() < (rhs->globalPosition() - thePoint).mag();
122  }
124  };
125 
126  struct LessDPhi {
130  return deltaPhi(lhs->globalPosition().barePhi(), thePoint.barePhi()) <
131  deltaPhi(rhs->globalPosition().barePhi(), thePoint.barePhi());
132  }
134  };
135 
136  struct AbsLessDPhi {
140  return (fabs(deltaPhi(lhs->globalPosition().barePhi(), thePoint.barePhi())) <
141  fabs(deltaPhi(rhs->globalPosition().barePhi(), thePoint.barePhi())));
142  }
144  };
145 
146  struct AbsLessDTheta {
150  return (fabs(lhs->globalPosition().bareTheta() - thePoint.bareTheta()) <
151  fabs(rhs->globalPosition().bareTheta() - thePoint.bareTheta()));
152  }
154  };
155 
156  struct LessPhi {
157  LessPhi() : thePoint(0, 0, 0) {}
160  return (lhs->globalPosition().barePhi() < rhs->globalPosition().barePhi());
161  }
163  };
164 
165  struct LessPerp {
166  LessPerp() : thePoint(0, 0, 0) {}
169  return (lhs->globalPosition().perp() < rhs->globalPosition().perp());
170  }
172  };
173 
174  struct LessAbsMag {
175  LessAbsMag() : thePoint(0, 0, 0) {}
178  return (lhs->globalPosition().mag() < rhs->globalPosition().mag());
179  }
181  };
182 
184 
185  unsigned long long theCacheId_TRH;
186  unsigned long long theCacheId_MT;
187 
190 
193 
198 
203 
208 
209  // geometry
215 };
216 #endif
MuonShowerInformationFiller::theCSCSegmentsLabel
edm::InputTag theCSCSegmentsLabel
Definition: MuonShowerInformationFiller.h:196
CSCRecHit2DCollection.h
MuonShowerInformationFiller::AbsLessDPhi
Definition: MuonShowerInformationFiller.h:136
MuonShowerInformationFiller::findPerpCluster
MuonRecHitContainer findPerpCluster(MuonRecHitContainer &muonRecHits) const
Definition: MuonShowerInformationFiller.cc:294
Handle.h
MuonShowerInformationFiller::setEvent
virtual void setEvent(const edm::Event &)
pass the Event to the algorithm at each event
Definition: MuonShowerInformationFiller.cc:136
MuonShowerInformationFiller::theCorrelatedStationHits
std::vector< int > theCorrelatedStationHits
Definition: MuonShowerInformationFiller.h:96
MuonShowerInformationFiller::findThetaCluster
TransientTrackingRecHit::ConstRecHitContainer findThetaCluster(TransientTrackingRecHit::ConstRecHitContainer &, const GlobalPoint &) const
Definition: MuonShowerInformationFiller.cc:267
MuonShower.h
Muon.h
MuonTransientTrackingRecHit::ConstMuonRecHitPointer
std::shared_ptr< MuonTransientTrackingRecHit const > ConstMuonRecHitPointer
Definition: MuonTransientTrackingRecHit.h:22
MuonShowerInformationFiller::getService
const MuonServiceProxy * getService() const
Definition: MuonShowerInformationFiller.h:90
GeomDet
Definition: GeomDet.h:27
MuonShowerInformationFiller::AbsLessDPhi::operator()
bool operator()(const MuonTransientTrackingRecHit::MuonRecHitPointer &lhs, const MuonTransientTrackingRecHit::MuonRecHitPointer &rhs) const
Definition: MuonShowerInformationFiller.h:138
ESHandle.h
DTRecHitCollection.h
MuonShowerInformationFiller::getCompatibleDets
std::vector< const GeomDet * > getCompatibleDets(const reco::Track &) const
Definition: MuonShowerInformationFiller.cc:325
MuonShowerInformationFiller::AbsLessDPhi::thePoint
GlobalPoint thePoint
Definition: MuonShowerInformationFiller.h:143
muon
Definition: MuonCocktails.h:17
MuonShowerInformationFiller::theMuonRecHitBuilder
edm::ESHandle< TransientTrackingRecHitBuilder > theMuonRecHitBuilder
Definition: MuonShowerInformationFiller.h:192
MuonShowerInformationFiller::setServices
void setServices(const edm::EventSetup &)
set the services needed
Definition: MuonShowerInformationFiller.cc:154
deltaPhi.h
edm::EDGetTokenT< DTRecHitCollection >
edm
HLT enums.
Definition: AlignableModifier.h:19
MuonShowerInformationFiller::theTrackerRecHitBuilderName
std::string theTrackerRecHitBuilderName
Definition: MuonShowerInformationFiller.h:188
MuonShowerInformationFiller::LessAbsMag::LessAbsMag
LessAbsMag()
Definition: MuonShowerInformationFiller.h:175
MuonShowerInformationFiller::theMuonRecHitBuilderName
std::string theMuonRecHitBuilderName
Definition: MuonShowerInformationFiller.h:191
MuonShowerInformationFiller::theCSCSegmentsToken
edm::EDGetTokenT< CSCSegmentCollection > theCSCSegmentsToken
Definition: MuonShowerInformationFiller.h:206
MuonShowerInformationFiller::MuonShowerInformationFiller
MuonShowerInformationFiller()
constructors
Definition: MuonShowerInformationFiller.h:71
MuonShowerInformationFiller::theDTRecHits
edm::Handle< DTRecHitCollection > theDTRecHits
Definition: MuonShowerInformationFiller.h:199
MuonTransientTrackingRecHit::MuonRecHitContainer
std::vector< MuonRecHitPointer > MuonRecHitContainer
Definition: MuonTransientTrackingRecHit.h:26
MuonShowerInformationFiller::theField
edm::ESHandle< MagneticField > theField
Definition: MuonShowerInformationFiller.h:212
MuonShowerInformationFiller::theDT4DRecSegmentLabel
edm::InputTag theDT4DRecSegmentLabel
Definition: MuonShowerInformationFiller.h:197
MuonShowerInformationFiller::AbsLessDTheta::AbsLessDTheta
AbsLessDTheta(const GlobalPoint &point)
Definition: MuonShowerInformationFiller.h:147
MuonShowerInformationFiller::theCacheId_TRH
unsigned long long theCacheId_TRH
Definition: MuonShowerInformationFiller.h:185
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:45
MuonShowerInformationFiller::LessDPhi
Definition: MuonShowerInformationFiller.h:126
MuonTransientTrackingRecHit.h
MuonShowerInformationFiller::theCSCRecHitLabel
edm::InputTag theCSCRecHitLabel
Definition: MuonShowerInformationFiller.h:195
MuonShowerInformationFiller::MuonRecHitContainer
MuonTransientTrackingRecHit::MuonRecHitContainer MuonRecHitContainer
Definition: MuonShowerInformationFiller.h:66
edm::Handle< DTRecSegment4DCollection >
MuonShowerInformationFiller::LessMag::thePoint
GlobalPoint thePoint
Definition: MuonShowerInformationFiller.h:123
MuonShowerInformationFiller::LessPhi::operator()
bool operator()(const MuonTransientTrackingRecHit::MuonRecHitPointer &lhs, const MuonTransientTrackingRecHit::MuonRecHitPointer &rhs) const
Definition: MuonShowerInformationFiller.h:158
MuonShowerInformationFiller::theTracker
edm::ESHandle< GeometricSearchTracker > theTracker
Definition: MuonShowerInformationFiller.h:210
MuonShowerInformationFiller::theCSCGeometry
edm::ESHandle< CSCGeometry > theCSCGeometry
Definition: MuonShowerInformationFiller.h:213
MuonShowerInformationFiller::AbsLessDPhi::AbsLessDPhi
AbsLessDPhi(const GlobalPoint &point)
Definition: MuonShowerInformationFiller.h:137
reco::Muon
Definition: Muon.h:27
MuonShowerInformationFiller::LessMag::operator()
bool operator()(const GlobalPoint &lhs, const GlobalPoint &rhs) const
Definition: MuonShowerInformationFiller.h:116
MuonShowerInformationFiller
Definition: MuonShowerInformationFiller.h:63
MuonShowerInformationFiller::theTrackerRecHitBuilder
edm::ESHandle< TransientTrackingRecHitBuilder > theTrackerRecHitBuilder
Definition: MuonShowerInformationFiller.h:189
MuonShowerInformationFiller::LessMag::LessMag
LessMag(const GlobalPoint &point)
Definition: MuonShowerInformationFiller.h:115
MuonShowerInformationFiller::LessAbsMag::operator()
bool operator()(const MuonTransientTrackingRecHit::MuonRecHitPointer &lhs, const MuonTransientTrackingRecHit::MuonRecHitPointer &rhs) const
Definition: MuonShowerInformationFiller.h:176
MuonShowerInformationFiller::AbsLessDTheta::operator()
bool operator()(const TransientTrackingRecHit::ConstRecHitPointer &lhs, const TransientTrackingRecHit::ConstRecHitPointer &rhs) const
Definition: MuonShowerInformationFiller.h:148
MuonShowerInformationFiller::theStationShowerDeltaR
std::vector< float > theStationShowerDeltaR
Definition: MuonShowerInformationFiller.h:93
MuonDetLayerGeometry
Definition: MuonDetLayerGeometry.h:21
MuonShowerInformationFiller::theCSCRecHits
edm::Handle< CSCRecHit2DCollection > theCSCRecHits
Definition: MuonShowerInformationFiller.h:200
MuonTransientTrackingRecHit::MuonRecHitPointer
std::shared_ptr< MuonTransientTrackingRecHit > MuonRecHitPointer
Definition: MuonTransientTrackingRecHit.h:21
Track.h
TrackFwd.h
MuonShowerInformationFiller::crossingPoint
GlobalPoint crossingPoint(const GlobalPoint &, const GlobalPoint &, const BarrelDetLayer *) const
Definition: MuonShowerInformationFiller.cc:396
MuonShowerInformationFiller::ConstRecHitContainer
TransientTrackingRecHit::ConstRecHitContainer ConstRecHitContainer
Definition: MuonShowerInformationFiller.h:65
MuonShowerInformationFiller::LessAbsMag
Definition: MuonShowerInformationFiller.h:174
GlobalTrackingGeometry
Definition: GlobalTrackingGeometry.h:20
SiPixelRawToDigiRegional_cfi.deltaPhi
deltaPhi
Definition: SiPixelRawToDigiRegional_cfi.py:9
MuonShowerInformationFiller::LessPhi
Definition: MuonShowerInformationFiller.h:156
MuonFwd.h
MuonShowerInformationFiller::theTrackingGeometry
edm::ESHandle< GlobalTrackingGeometry > theTrackingGeometry
Definition: MuonShowerInformationFiller.h:211
reco::Track
Definition: Track.h:27
edm::ESHandle< TransientTrackingRecHitBuilder >
Event
MuonShowerInformationFiller::~MuonShowerInformationFiller
virtual ~MuonShowerInformationFiller()
destructor
Definition: MuonShowerInformationFiller.cc:101
MuonShowerInformationFiller::LessMag::operator()
bool operator()(const MuonTransientTrackingRecHit::MuonRecHitPointer &lhs, const MuonTransientTrackingRecHit::MuonRecHitPointer &rhs) const
Definition: MuonShowerInformationFiller.h:119
Point3DBase< float, GlobalTag >
MuonShowerInformationFiller::cscPositionToDets
std::vector< const GeomDet * > cscPositionToDets(const GlobalPoint &) const
Definition: MuonShowerInformationFiller.cc:576
MuonShowerInformationFiller::LessAbsMag::thePoint
GlobalPoint thePoint
Definition: MuonShowerInformationFiller.h:180
MuonShowerInformationFiller::theStationShowerTSize
std::vector< float > theStationShowerTSize
Definition: MuonShowerInformationFiller.h:94
PV3DBase::bareTheta
T bareTheta() const
Definition: PV3DBase.h:71
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
DTGeometry.h
MuonShowerInformationFiller::theAllStationHits
std::vector< int > theAllStationHits
Definition: MuonShowerInformationFiller.h:95
edm::ParameterSet
Definition: ParameterSet.h:47
MuonShowerInformationFiller::theDTRecHitLabel
edm::InputTag theDTRecHitLabel
Definition: MuonShowerInformationFiller.h:194
ParameterSet
Definition: Functions.h:16
MuonShowerInformationFiller::LessPerp
Definition: MuonShowerInformationFiller.h:165
PV3DBase::barePhi
T barePhi() const
Definition: PV3DBase.h:65
TrackingRecHit::ConstRecHitContainer
std::vector< ConstRecHitPointer > ConstRecHitContainer
Definition: TrackingRecHit.h:32
deltaR.h
MuonShowerInformationFiller::fillHitsByStation
void fillHitsByStation(const reco::Muon &)
Definition: MuonShowerInformationFiller.cc:684
MuonShowerInformationFiller::theDT4DRecSegments
edm::Handle< DTRecSegment4DCollection > theDT4DRecSegments
Definition: MuonShowerInformationFiller.h:202
MuonShowerInformationFiller::LessPerp::thePoint
GlobalPoint thePoint
Definition: MuonShowerInformationFiller.h:171
MuonShowerInformationFiller::hitsFromSegments
TransientTrackingRecHit::ConstRecHitContainer hitsFromSegments(const GeomDet *, edm::Handle< DTRecSegment4DCollection >, edm::Handle< CSCSegmentCollection >) const
Definition: MuonShowerInformationFiller.cc:173
MuonShowerInformationFiller::LessPhi::LessPhi
LessPhi()
Definition: MuonShowerInformationFiller.h:157
TrackingRecHit::ConstRecHitPointer
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
Definition: TrackingRecHit.h:25
MuonShowerInformationFiller::AbsLessDTheta
Definition: MuonShowerInformationFiller.h:146
MuonShowerInformationFiller::ConstMuonRecHitPointer
MuonTransientTrackingRecHit::ConstMuonRecHitPointer ConstMuonRecHitPointer
Definition: MuonShowerInformationFiller.h:67
edm::EventSetup
Definition: EventSetup.h:57
MuonShowerInformationFiller::theDTGeometry
edm::ESHandle< DTGeometry > theDTGeometry
Definition: MuonShowerInformationFiller.h:214
MuonShowerInformationFiller::theCSCSegments
edm::Handle< CSCSegmentCollection > theCSCSegments
Definition: MuonShowerInformationFiller.h:201
reco::MuonShower
Definition: MuonShower.h:7
BarrelDetLayer
Definition: BarrelDetLayer.h:22
MuonShowerInformationFiller::theCacheId_MT
unsigned long long theCacheId_MT
Definition: MuonShowerInformationFiller.h:186
MuonShowerInformationFiller::dtPositionToDets
std::vector< const GeomDet * > dtPositionToDets(const GlobalPoint &) const
Definition: MuonShowerInformationFiller.cc:476
InputTag.h
MuonShowerInformationFiller::AbsLessDTheta::thePoint
GlobalPoint thePoint
Definition: MuonShowerInformationFiller.h:153
ValueMap.h
MuonShowerInformationFiller::theCSCRecHitToken
edm::EDGetTokenT< CSCRecHit2DCollection > theCSCRecHitToken
Definition: MuonShowerInformationFiller.h:205
mag
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())
Definition: Basic3DVectorLD.h:127
MuonShowerInformationFiller::LessDPhi::thePoint
GlobalPoint thePoint
Definition: MuonShowerInformationFiller.h:133
MuonShowerInformationFiller::theDTRecHitToken
edm::EDGetTokenT< DTRecHitCollection > theDTRecHitToken
Definition: MuonShowerInformationFiller.h:204
MuonShowerInformationFiller::LessMag
Definition: MuonShowerInformationFiller.h:114
Disk
Definition: BoundDisk.h:19
ForwardDetLayer
Definition: ForwardDetLayer.h:22
MuonShowerInformationFiller::theDT4DRecSegmentToken
edm::EDGetTokenT< DTRecSegment4DCollection > theDT4DRecSegmentToken
Definition: MuonShowerInformationFiller.h:207
Trajectory
Definition: Trajectory.h:38
Frameworkfwd.h
MuonShowerInformationFiller::LessPhi::thePoint
GlobalPoint thePoint
Definition: MuonShowerInformationFiller.h:162
GeometricSearchTracker
Definition: GeometricSearchTracker.h:14
MuonShowerInformationFiller::category_
std::string category_
Definition: MuonShowerInformationFiller.h:183
MuonShowerInformationFiller::fillShowerInformation
reco::MuonShower fillShowerInformation(const reco::Muon &muon, const edm::Event &, const edm::EventSetup &)
fill muon shower variables
Definition: MuonShowerInformationFiller.cc:109
Cylinder
Definition: Cylinder.h:19
ConsumesCollector.h
MuonShowerInformationFiller::LessPerp::LessPerp
LessPerp()
Definition: MuonShowerInformationFiller.h:166
EventSetup
MuonServiceProxy
Definition: MuonServiceProxy.h:38
MuonShowerInformationFiller::theService
MuonServiceProxy * theService
Definition: MuonShowerInformationFiller.h:98
point
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5
edm::Event
Definition: Event.h:73
TransientTrackingRecHitBuilder
Definition: TransientTrackingRecHitBuilder.h:6
MuonShowerInformationFiller::LessPerp::operator()
bool operator()(const MuonTransientTrackingRecHit::MuonRecHitPointer &lhs, const MuonTransientTrackingRecHit::MuonRecHitPointer &rhs) const
Definition: MuonShowerInformationFiller.h:167
edm::InputTag
Definition: InputTag.h:15
edm::ConsumesCollector
Definition: ConsumesCollector.h:45
MuonShowerInformationFiller::LessDPhi::operator()
bool operator()(const MuonTransientTrackingRecHit::MuonRecHitPointer &lhs, const MuonTransientTrackingRecHit::MuonRecHitPointer &rhs) const
Definition: MuonShowerInformationFiller.h:128
CSCGeometry.h
DTRecSegment4DCollection.h
MuonShowerInformationFiller::LessDPhi::LessDPhi
LessDPhi(const GlobalPoint &point)
Definition: MuonShowerInformationFiller.h:127
CSCSegmentCollection.h