CMS 3D CMS Logo

AlignmentMonitorMuonVsCurvature.cc
Go to the documentation of this file.
1 /*
2  * Package: CommonAlignmentProducer
3  * Class : AlignmentMonitorMuonVsCurvature
4  *
5  * Original Author: Jim Pivarski
6  * Created: Fri Feb 19 21:45:02 CET 2010
7  *
8  * $Id:$
9  */
10 
14 
21 
22 #include <sstream>
23 #include "TProfile.h"
24 #include "TH2F.h"
25 #include "TH1F.h"
26 
33 
35 public:
38 
39  void book() override;
40 
41  void event(const edm::Event &iEvent,
42  const edm::EventSetup &iSetup,
43  const ConstTrajTrackPairCollection &iTrajTracks) override;
44  void processMuonResidualsFromTrack(MuonResidualsFromTrack &mrft, const Trajectory *traj = nullptr);
45 
46 private:
47  // es token
52 
53  // parameters
55  double m_minTrackPt;
56  double m_minTrackP;
61  double m_maxDxy;
65  int m_layer;
67  bool m_doDT;
68  bool m_doCSC;
69 
71 
72  // DT [wheel][station][sector]
75 
76  // CSC [endcap*station][ring][chamber]
79 
82 };
83 
86  : AlignmentMonitorBase(cfg, iC, "AlignmentMonitorMuonVsCurvature"),
87  m_esTokenGBTGeom(iC.esConsumes()),
88  m_esTokenDetId(iC.esConsumes(edm::ESInputTag("", "MuonDetIdAssociator"))),
89  m_esTokenProp(iC.esConsumes(edm::ESInputTag("", "SteppingHelixPropagatorAny"))),
90  m_esTokenMF(iC.esConsumes()),
91  m_muonCollectionTag(cfg.getParameter<edm::InputTag>("muonCollectionTag")),
92  m_minTrackPt(cfg.getParameter<double>("minTrackPt")),
93  m_minTrackP(cfg.getParameter<double>("minTrackP")),
94  m_minTrackerHits(cfg.getParameter<int>("minTrackerHits")),
95  m_maxTrackerRedChi2(cfg.getParameter<double>("maxTrackerRedChi2")),
96  m_allowTIDTEC(cfg.getParameter<bool>("allowTIDTEC")),
97  m_minNCrossedChambers(cfg.getParameter<int>("minNCrossedChambers")),
98  m_maxDxy(cfg.getParameter<double>("maxDxy")),
99  m_minDT13Hits(cfg.getParameter<int>("minDT13Hits")),
100  m_minDT2Hits(cfg.getParameter<int>("minDT2Hits")),
101  m_minCSCHits(cfg.getParameter<int>("minCSCHits")),
102  m_layer(cfg.getParameter<int>("layer")),
103  m_propagator(cfg.getParameter<std::string>("propagator")),
104  m_doDT(cfg.getParameter<bool>("doDT")),
105  m_doCSC(cfg.getParameter<bool>("doCSC")) {}
106 
108  // DT
109  std::string wheelname[5] = {"wheelm2_", "wheelm1_", "wheelz_", "wheelp1_", "wheelp2_"};
110  if (m_doDT)
111  for (int wheel = -2; wheel <= 2; wheel++)
112  for (int station = 1; station <= 4; station++)
113  for (int sector = 1; sector <= 14; sector++) {
114  if (station != 4 && sector > 12)
115  continue;
116 
117  char stationname[20];
118  sprintf(stationname, "st%d_", station);
119 
120  char sectorname[20];
121  sprintf(sectorname, "sector%02d_", sector);
122 
123  for (int component = 0; component < kNumComponents; component++) {
124  std::stringstream th2f_name, tprofile_name;
125  th2f_name << "th2f_" << wheelname[wheel + 2] << stationname << sectorname;
126  tprofile_name << "tprofile_" << wheelname[wheel + 2] << stationname << sectorname;
127 
128  double yminmax = 50., xminmax = 0.05;
129  if (m_minTrackPt > 0.)
130  xminmax = 1. / m_minTrackPt;
131  int ynbins = 50;
132  if (component == kDeltaX) {
133  th2f_name << "deltax";
134  tprofile_name << "deltax";
135  } else if (component == kDeltaDxDz) {
136  th2f_name << "deltadxdz";
137  tprofile_name << "deltadxdz";
138  }
139 
140  th2f_wheel_st_sector[wheel + 2][station - 1][sector - 1][component] =
141  book2D("/iterN/", th2f_name.str(), "", 30, -xminmax, xminmax, ynbins, -yminmax, yminmax);
142  tprofile_wheel_st_sector[wheel + 2][station - 1][sector - 1][component] =
143  bookProfile("/iterN/", tprofile_name.str(), "", 30, -xminmax, xminmax);
144  }
145  }
146 
147  // CSC
148  std::string stname[8] = {"Ep_S1_", "Ep_S2_", "Ep_S3_", "Ep_S4_", "Em_S1_", "Em_S2_", "Em_S3_", "Em_S4_"};
149  if (m_doCSC)
150  for (int station = 0; station < 8; station++)
151  for (int ring = 1; ring <= 3; ring++)
152  for (int chamber = 1; chamber <= 36; chamber++) {
153  int st = station % 4 + 1;
154  if (st > 1 && ring > 2)
155  continue; // only station 1 has more then 2 rings
156  if (st > 1 && ring == 1 && chamber > 18)
157  continue; // ring 1 stations 1,2,3 have 18 chambers
158 
159  char ringname[20];
160  sprintf(ringname, "R%d_", ring);
161 
162  char chname[20];
163  sprintf(chname, "C%02d_", chamber);
164 
165  for (int component = 0; component < kNumComponents; component++) {
166  std::stringstream componentname;
167  double yminmax = 50., xminmax = 0.05;
168  if (m_minTrackPt > 0.)
169  xminmax = 1. / m_minTrackPt;
170  if (ring == 1)
171  xminmax *= 0.5;
172  if (component == kDeltaX) {
173  componentname << "deltax";
174  } else if (component == kDeltaDxDz) {
175  componentname << "deltadxdz";
176  }
177 
178  std::stringstream th2f_name, tprofile_name;
179  th2f_name << "th2f_" << stname[station] << ringname << chname << componentname.str();
180  tprofile_name << "tprofile_" << stname[station] << ringname << chname << componentname.str();
181 
182  th2f_st_ring_chamber[station][ring - 1][chamber - 1][component] =
183  book2D("/iterN/", th2f_name.str(), "", 30, -xminmax, xminmax, 100, -yminmax, yminmax);
184  tprofile_st_ring_chamber[station][ring - 1][chamber - 1][component] =
185  bookProfile("/iterN/", tprofile_name.str(), "", 30, -xminmax, xminmax);
186  }
187  }
188 
189  th1f_trackerRedChi2 = book1D("/iterN/", "trackerRedChi2", "Refit tracker reduced chi^2", 100, 0., 30.);
191  book1D("/iterN/", "trackerRedChi2Diff", "Fit-minus-refit tracker reduced chi^2", 100, -5., 5.);
192 }
193 
195  const edm::EventSetup &iSetup,
196  const ConstTrajTrackPairCollection &trajtracks) {
198  iEvent.getByLabel(m_beamSpotTag, beamSpot);
199 
200  const GlobalTrackingGeometry *globalGeometry = &iSetup.getData(m_esTokenGBTGeom);
201  const DetIdAssociator *muonDetIdAssociator_ = &iSetup.getData(m_esTokenDetId);
202  const Propagator *prop = &iSetup.getData(m_esTokenProp);
204 
205  if (m_muonCollectionTag.label().empty()) // use trajectories
206  {
207  for (ConstTrajTrackPairCollection::const_iterator trajtrack = trajtracks.begin(); trajtrack != trajtracks.end();
208  ++trajtrack) {
209  const Trajectory *traj = (*trajtrack).first;
210  const reco::Track *track = (*trajtrack).second;
211 
212  if (track->pt() > m_minTrackPt && track->p() > m_minTrackP && fabs(track->dxy(beamSpot->position())) < m_maxDxy) {
213  MuonResidualsFromTrack muonResidualsFromTrack(
214  iSetup, magneticField, globalGeometry, muonDetIdAssociator_, prop, traj, track, pNavigator(), 1000.);
215  processMuonResidualsFromTrack(muonResidualsFromTrack, traj);
216  } // end if track pT is within range
217  } // end loop over tracks
218  } else {
220  iEvent.getByLabel(m_muonCollectionTag, muons);
221 
222  for (reco::MuonCollection::const_iterator muon = muons->begin(); muon != muons->end(); ++muon) {
223  if (!(muon->isTrackerMuon() && muon->innerTrack().isNonnull()))
224  continue;
225 
226  if (m_minTrackPt < muon->pt() && m_minTrackP < muon->p() &&
227  fabs(muon->innerTrack()->dxy(beamSpot->position())) < m_maxDxy) {
228  MuonResidualsFromTrack muonResidualsFromTrack(globalGeometry, &(*muon), pNavigator(), 100.);
229  processMuonResidualsFromTrack(muonResidualsFromTrack);
230  }
231  }
232  }
233 }
234 
236  const Trajectory *traj) {
237  if (mrft.trackerNumHits() < m_minTrackerHits)
238  return;
239  if (!m_allowTIDTEC && mrft.contains_TIDTEC())
240  return;
241 
242  int nMuChambers = 0;
243  std::vector<DetId> chamberIds = mrft.chamberIds();
244  for (unsigned ch = 0; ch < chamberIds.size(); ch++)
245  if (chamberIds[ch].det() == DetId::Muon)
246  nMuChambers++;
247  if (nMuChambers < m_minNCrossedChambers)
248  return;
249 
250  th1f_trackerRedChi2->Fill(mrft.trackerRedChi2());
252 
253  if (mrft.normalizedChi2() > m_maxTrackerRedChi2)
254  return;
255 
256  double qoverpt = mrft.getTrack()->charge() / mrft.getTrack()->pt();
257  double qoverpz = 0.;
258  if (fabs(mrft.getTrack()->pz()) > 0.01)
259  qoverpz = mrft.getTrack()->charge() / fabs(mrft.getTrack()->pz());
260 
261  for (std::vector<DetId>::const_iterator chamberId = chamberIds.begin(); chamberId != chamberIds.end(); ++chamberId) {
262  if (chamberId->det() != DetId::Muon)
263  continue;
264 
265  if (m_doDT && chamberId->subdetId() == MuonSubdetId::DT) {
266  DTChamberId dtid(chamberId->rawId());
268 
269  if (dt13 != nullptr && dt13->numHits() >= m_minDT13Hits) {
270  int wheel = dtid.wheel() + 2;
271  int station = dtid.station() - 1;
272  int sector = dtid.sector() - 1;
273 
274  double resid_x = 10. * dt13->global_residual();
275  double resid_dxdz = 1000. * dt13->global_resslope();
276 
277  if (fabs(resid_x) < 100. && fabs(resid_dxdz) < 100.) {
278  th2f_wheel_st_sector[wheel][station][sector][kDeltaX]->Fill(qoverpt, resid_x);
279  tprofile_wheel_st_sector[wheel][station][sector][kDeltaX]->Fill(qoverpt, resid_x);
280  th2f_wheel_st_sector[wheel][station][sector][kDeltaDxDz]->Fill(qoverpt, resid_dxdz);
281  tprofile_wheel_st_sector[wheel][station][sector][kDeltaDxDz]->Fill(qoverpt, resid_dxdz);
282  }
283  } // if it's a good segment
284  } // if DT
285 
286  if (m_doCSC && chamberId->subdetId() == MuonSubdetId::CSC) {
287  CSCDetId cscid(chamberId->rawId());
289 
290  if (csc != nullptr && csc->numHits() >= m_minCSCHits) {
291  int station = 4 * cscid.endcap() + cscid.station() - 5;
292  int ring = cscid.ring() - 1;
293  if (cscid.station() == 1 && cscid.ring() == 4)
294  ring = 0; // join ME1/a to ME1/b
295  int chamber = cscid.chamber() - 1;
296 
297  double resid_x = 10. * csc->global_residual();
298  double resid_dxdz = 1000. * csc->global_resslope();
299 
300  if (fabs(resid_x) < 100. && fabs(resid_dxdz) < 100.) {
301  th2f_st_ring_chamber[station][ring][chamber][kDeltaX]->Fill(qoverpz, resid_x);
302  tprofile_st_ring_chamber[station][ring][chamber][kDeltaX]->Fill(qoverpz, resid_x);
303  th2f_st_ring_chamber[station][ring][chamber][kDeltaDxDz]->Fill(qoverpz, resid_dxdz);
304  tprofile_st_ring_chamber[station][ring][chamber][kDeltaDxDz]->Fill(qoverpz, resid_dxdz);
305  }
306  } // if it's a good segment
307  } // if CSC
308 
309  } // end loop over chamberIds
310 }
311 
Propagator.h
PDWG_BPHSkim_cff.muons
muons
Definition: PDWG_BPHSkim_cff.py:47
MuonResidualsFromTrack::trackerRedChi2
double trackerRedChi2() const
Definition: MuonResidualsFromTrack.cc:722
MuonSubdetId::CSC
static constexpr int CSC
Definition: MuonSubdetId.h:12
electrons_cff.bool
bool
Definition: electrons_cff.py:366
AlignmentMonitorMuonVsCurvature::m_minDT2Hits
int m_minDT2Hits
Definition: AlignmentMonitorMuonVsCurvature.cc:63
AlignmentMonitorMuonVsCurvature::tprofile_wheel_st_sector
TProfile * tprofile_wheel_st_sector[5][4][14][kNumComponents]
Definition: AlignmentMonitorMuonVsCurvature.cc:74
pwdgSkimBPark_cfi.beamSpot
beamSpot
Definition: pwdgSkimBPark_cfi.py:5
HLT_FULL_cff.track
track
Definition: HLT_FULL_cff.py:11724
MessageLogger.h
AlignmentMonitorMuonVsCurvature::th1f_trackerRedChi2Diff
TH1F * th1f_trackerRedChi2Diff
Definition: AlignmentMonitorMuonVsCurvature.cc:81
AlignmentMonitorMuonVsCurvature::~AlignmentMonitorMuonVsCurvature
~AlignmentMonitorMuonVsCurvature() override
Definition: AlignmentMonitorMuonVsCurvature.cc:37
AlignmentMonitorMuonVsCurvature::m_doDT
bool m_doDT
Definition: AlignmentMonitorMuonVsCurvature.cc:67
ESInputTag
muon
Definition: MuonCocktails.h:17
DiDispStaMuonMonitor_cfi.pt
pt
Definition: DiDispStaMuonMonitor_cfi.py:39
relativeConstraints.station
station
Definition: relativeConstraints.py:67
edm
HLT enums.
Definition: AlignableModifier.h:19
AlignmentMonitorMuonVsCurvature::m_minDT13Hits
int m_minDT13Hits
Definition: AlignmentMonitorMuonVsCurvature.cc:62
AlignmentMonitorMuonVsCurvature::th2f_st_ring_chamber
TH2F * th2f_st_ring_chamber[8][3][36][kNumComponents]
Definition: AlignmentMonitorMuonVsCurvature.cc:77
AlignmentMonitorMuonVsCurvature::m_doCSC
bool m_doCSC
Definition: AlignmentMonitorMuonVsCurvature.cc:68
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89301
MuonResidualsFromTrack::chamberResidual
MuonChamberResidual * chamberResidual(DetId chamberId, int type)
Definition: MuonResidualsFromTrack.cc:735
MuonResidualsFromTrack::trackerNumHits
int trackerNumHits() const
Definition: MuonResidualsFromTrack.h:78
AlignmentMonitorMuonVsCurvature::m_layer
int m_layer
Definition: AlignmentMonitorMuonVsCurvature.cc:65
AlignmentMonitorMuonVsCurvature::th2f_wheel_st_sector
TH2F * th2f_wheel_st_sector[5][4][14][kNumComponents]
Definition: AlignmentMonitorMuonVsCurvature.cc:73
AlignmentMonitorPluginFactory
AlignmentMonitorMuonVsCurvature::book
void book() override
Book or retrieve histograms; MUST be reimplemented.
Definition: AlignmentMonitorMuonVsCurvature.cc:107
HLT_FULL_cff.magneticField
magneticField
Definition: HLT_FULL_cff.py:348
edm::Handle< reco::BeamSpot >
AlignmentMonitorBase::book2D
TH2F * book2D(std::string dir, std::string name, std::string title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Definition: AlignmentMonitorBase.cc:131
AlignmentMonitorBase::pNavigator
AlignableNavigator * pNavigator()
Definition: AlignmentMonitorBase.h:115
reco::TrackBase::pt
double pt() const
track transverse momentum
Definition: TrackBase.h:637
edm::InputTag::label
std::string const & label() const
Definition: InputTag.h:36
Propagator
Definition: Propagator.h:44
AlignmentMonitorMuonVsCurvature::m_esTokenMF
const edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > m_esTokenMF
Definition: AlignmentMonitorMuonVsCurvature.cc:51
csc
Definition: L1Track.h:19
AlignmentMonitorMuonVsCurvature::m_propagator
std::string m_propagator
Definition: AlignmentMonitorMuonVsCurvature.cc:66
GlobalTrackingGeometry
Definition: GlobalTrackingGeometry.h:20
HLT_FULL_cff.muon
muon
Definition: HLT_FULL_cff.py:11725
AlignmentMonitorMuonVsCurvature::event
void event(const edm::Event &iEvent, const edm::EventSetup &iSetup, const ConstTrajTrackPairCollection &iTrajTracks) override
Called for each event (by "run()"): may be reimplemented.
Definition: AlignmentMonitorMuonVsCurvature.cc:194
AlignmentMonitorMuonVsCurvature::m_maxTrackerRedChi2
double m_maxTrackerRedChi2
Definition: AlignmentMonitorMuonVsCurvature.cc:58
AlignmentMonitorMuonVsCurvature::th1f_trackerRedChi2
TH1F * th1f_trackerRedChi2
Definition: AlignmentMonitorMuonVsCurvature.cc:80
reco::Track
Definition: Track.h:27
IdealMagneticFieldRecord.h
MuonResidualsFromTrack
Definition: MuonResidualsFromTrack.h:52
MuonResidualsFromTrack::getTrack
const reco::Track * getTrack()
Definition: MuonResidualsFromTrack.h:75
AlignmentMonitorMuonVsCurvature::m_muonCollectionTag
edm::InputTag m_muonCollectionTag
Definition: AlignmentMonitorMuonVsCurvature.cc:54
MuonResidualsFromTrack::chamberIds
const std::vector< DetId > chamberIds() const
Definition: MuonResidualsFromTrack.h:86
reco::TrackBase::charge
int charge() const
track electric charge
Definition: TrackBase.h:596
MuonSubdetId::DT
static constexpr int DT
Definition: MuonSubdetId.h:11
MuonResidualsFromTrack::normalizedChi2
double normalizedChi2() const
Definition: MuonResidualsFromTrack.cc:729
DEFINE_EDM_PLUGIN
#define DEFINE_EDM_PLUGIN(factory, type, name)
Definition: PluginFactory.h:124
AlignmentMonitorPluginFactory.h
GlobalTrackingGeometryRecord.h
DetIdAssociator
Definition: DetIdAssociator.h:45
AlignmentMonitorMuonVsCurvature::processMuonResidualsFromTrack
void processMuonResidualsFromTrack(MuonResidualsFromTrack &mrft, const Trajectory *traj=nullptr)
Definition: AlignmentMonitorMuonVsCurvature.cc:235
AlignmentMonitorMuonVsCurvature
Definition: AlignmentMonitorMuonVsCurvature.cc:34
edm::ParameterSet
Definition: ParameterSet.h:47
AlignmentMonitorBase::bookProfile
TProfile * bookProfile(std::string dir, std::string name, std::string title, int nchX, double lowX, double highX, int nchY=1, double lowY=0., double highY=0., const char *option="s")
Definition: AlignmentMonitorBase.cc:114
AlignmentMonitorMuonVsCurvature::kDeltaX
Definition: AlignmentMonitorMuonVsCurvature.cc:70
AlignmentMonitorBase.h
CSCDetId
Definition: CSCDetId.h:26
AlignmentMonitorMuonVsCurvature::m_esTokenGBTGeom
const edm::ESGetToken< GlobalTrackingGeometry, GlobalTrackingGeometryRecord > m_esTokenGBTGeom
Definition: AlignmentMonitorMuonVsCurvature.cc:48
AlignmentMonitorBase
Definition: AlignmentMonitorBase.h:43
makeMuonMisalignmentScenario.wheel
wheel
Definition: makeMuonMisalignmentScenario.py:319
createfilelist.int
int
Definition: createfilelist.py:10
MuonChamberResidual
Definition: MuonChamberResidual.h:26
iEvent
int iEvent
Definition: GenABIO.cc:224
MuonResidualsFromTrack::contains_TIDTEC
bool contains_TIDTEC() const
Definition: MuonResidualsFromTrack.h:84
AlignmentMonitorBase::m_beamSpotTag
const edm::InputTag m_beamSpotTag
Definition: AlignmentMonitorBase.h:117
DetIdAssociatorRecord.h
MagneticField.h
edm::EventSetup
Definition: EventSetup.h:58
MuonChamberResidual::kCSC
Definition: MuonChamberResidual.h:28
reco::TrackBase::normalizedChi2
double normalizedChi2() const
chi-squared divided by n.d.o.f. (or chi-squared * 1e6 if n.d.o.f. is zero)
Definition: TrackBase.h:593
MuonResidualsFromTrack.h
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::ESGetToken< GlobalTrackingGeometry, GlobalTrackingGeometryRecord >
InputTag.h
edm::EventSetup::getData
bool getData(T &iHolder) const
Definition: EventSetup.h:127
looper.cfg
cfg
Definition: looper.py:296
AlignmentMonitorMuonVsCurvature::m_esTokenDetId
const edm::ESGetToken< DetIdAssociator, DetIdAssociatorRecord > m_esTokenDetId
Definition: AlignmentMonitorMuonVsCurvature.cc:49
AlignmentMonitorBase::book1D
TH1F * book1D(std::string dir, std::string name, std::string title, int nchX, double lowX, double highX)
Definition: AlignmentMonitorBase.cc:109
AlignmentMonitorMuonVsCurvature::m_minCSCHits
int m_minCSCHits
Definition: AlignmentMonitorMuonVsCurvature.cc:64
AlignmentMonitorMuonVsCurvature::m_minTrackerHits
int m_minTrackerHits
Definition: AlignmentMonitorMuonVsCurvature.cc:57
std
Definition: JetResolutionObject.h:76
AlignmentMonitorMuonVsCurvature::tprofile_st_ring_chamber
TProfile * tprofile_st_ring_chamber[8][3][36][kNumComponents]
Definition: AlignmentMonitorMuonVsCurvature.cc:78
Trajectory
Definition: Trajectory.h:38
DetIdAssociator.h
TrackingComponentsRecord.h
AlignmentMonitorMuonVsCurvature::kNumComponents
Definition: AlignmentMonitorMuonVsCurvature.cc:70
relativeConstraints.ring
ring
Definition: relativeConstraints.py:68
relativeConstraints.chamber
chamber
Definition: relativeConstraints.py:53
EventSetup.h
AlignmentMonitorMuonVsCurvature::m_esTokenProp
const edm::ESGetToken< Propagator, TrackingComponentsRecord > m_esTokenProp
Definition: AlignmentMonitorMuonVsCurvature.cc:50
AlignmentMonitorMuonVsCurvature::m_allowTIDTEC
bool m_allowTIDTEC
Definition: AlignmentMonitorMuonVsCurvature.cc:59
AlignmentMonitorMuonVsCurvature::m_minTrackP
double m_minTrackP
Definition: AlignmentMonitorMuonVsCurvature.cc:56
AlignmentMonitorMuonVsCurvature::kDeltaDxDz
Definition: AlignmentMonitorMuonVsCurvature.cc:70
reco::TrackBase::pz
double pz() const
z coordinate of momentum vector
Definition: TrackBase.h:646
AlignmentMonitorBase::ConstTrajTrackPairCollection
std::vector< ConstTrajTrackPair > ConstTrajTrackPairCollection
Definition: AlignmentMonitorBase.h:46
DetId::Muon
Definition: DetId.h:26
DTChamberId
Definition: DTChamberId.h:14
ParameterSet.h
DeDxTools::esConsumes
ESGetTokenH3DDVariant esConsumes(std::string const &Reccord, edm::ConsumesCollector &)
Definition: DeDxTools.cc:283
GlobalTrackingGeometry.h
MuonChamberResidual::kDT13
Definition: MuonChamberResidual.h:28
edm::Event
Definition: Event.h:73
MagneticField
Definition: MagneticField.h:19
edm::InputTag
Definition: InputTag.h:15
edm::ConsumesCollector
Definition: ConsumesCollector.h:45
AlignmentMonitorMuonVsCurvature::m_maxDxy
double m_maxDxy
Definition: AlignmentMonitorMuonVsCurvature.cc:61
AlignmentMonitorMuonVsCurvature::m_minTrackPt
double m_minTrackPt
Definition: AlignmentMonitorMuonVsCurvature.cc:55
AlignmentMonitorMuonVsCurvature::AlignmentMonitorMuonVsCurvature
AlignmentMonitorMuonVsCurvature(const edm::ParameterSet &cfg, edm::ConsumesCollector iC)
Definition: AlignmentMonitorMuonVsCurvature.cc:84
AlignmentMonitorMuonVsCurvature::m_minNCrossedChambers
bool m_minNCrossedChambers
Definition: AlignmentMonitorMuonVsCurvature.cc:60