CMS 3D CMS Logo

List of all members | Public Member Functions | Private Types | Private Attributes
AlignmentMonitorMuonVsCurvature Class Reference
Inheritance diagram for AlignmentMonitorMuonVsCurvature:
AlignmentMonitorBase

Public Member Functions

 AlignmentMonitorMuonVsCurvature (const edm::ParameterSet &cfg, edm::ConsumesCollector iC)
 
void book () override
 Book or retrieve histograms; MUST be reimplemented. More...
 
void event (const edm::Event &iEvent, const edm::EventSetup &iSetup, const ConstTrajTrackPairCollection &iTrajTracks) override
 Called for each event (by "run()"): may be reimplemented. More...
 
void processMuonResidualsFromTrack (MuonResidualsFromTrack &mrft, const Trajectory *traj=nullptr)
 
 ~AlignmentMonitorMuonVsCurvature () override
 
- Public Member Functions inherited from AlignmentMonitorBase
virtual void afterAlignment ()
 
 AlignmentMonitorBase (const AlignmentMonitorBase &)=delete
 
 AlignmentMonitorBase (const edm::ParameterSet &cfg, const edm::ConsumesCollector &iC, std::string name)
 Constructor. More...
 
void beginOfJob (AlignableTracker *pTracker, AlignableMuon *pMuon, AlignmentParameterStore *pStore)
 Called at beginning of job: don't reimplement. More...
 
void duringLoop (const edm::Event &iEvent, const edm::EventSetup &iSetup, const ConstTrajTrackPairCollection &iTrajTracks)
 Called for each event: don't reimplement. More...
 
void endOfJob ()
 Called at end of processing: don't implement. More...
 
void endOfLoop ()
 Called at end of loop: don't reimplement. More...
 
const AlignmentMonitorBaseoperator= (const AlignmentMonitorBase &)=delete
 
void startingNewLoop ()
 Called at beginning of loop: don't reimplement. More...
 
virtual ~AlignmentMonitorBase ()
 Destructor. More...
 

Private Types

enum  { kDeltaX = 0, kDeltaDxDz, kNumComponents }
 

Private Attributes

bool m_allowTIDTEC
 
bool m_doCSC
 
bool m_doDT
 
const edm::ESGetToken< DetIdAssociator, DetIdAssociatorRecordm_esTokenDetId
 
const edm::ESGetToken< GlobalTrackingGeometry, GlobalTrackingGeometryRecordm_esTokenGBTGeom
 
const edm::ESGetToken< MagneticField, IdealMagneticFieldRecordm_esTokenMF
 
const edm::ESGetToken< Propagator, TrackingComponentsRecordm_esTokenProp
 
int m_layer
 
double m_maxDxy
 
double m_maxTrackerRedChi2
 
int m_minCSCHits
 
int m_minDT13Hits
 
int m_minDT2Hits
 
bool m_minNCrossedChambers
 
int m_minTrackerHits
 
double m_minTrackP
 
double m_minTrackPt
 
edm::InputTag m_muonCollectionTag
 
std::string m_propagator
 
TH1F * th1f_trackerRedChi2
 
TH1F * th1f_trackerRedChi2Diff
 
TH2F * th2f_st_ring_chamber [8][3][36][kNumComponents]
 
TH2F * th2f_wheel_st_sector [5][4][14][kNumComponents]
 
TProfile * tprofile_st_ring_chamber [8][3][36][kNumComponents]
 
TProfile * tprofile_wheel_st_sector [5][4][14][kNumComponents]
 

Additional Inherited Members

- Public Types inherited from AlignmentMonitorBase
typedef std::pair< const Trajectory *, const reco::Track * > ConstTrajTrackPair
 
typedef std::vector< ConstTrajTrackPairConstTrajTrackPairCollection
 
- Protected Member Functions inherited from AlignmentMonitorBase
TH1F * book1D (std::string dir, std::string name, std::string title, int nchX, double lowX, double highX)
 
TH2F * book2D (std::string dir, std::string name, std::string title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
 
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")
 
TFileDirectorydirectory (std::string dir)
 
int iteration ()
 
AlignableMuonpMuon ()
 
AlignableNavigatorpNavigator ()
 
AlignmentParameterStorepStore ()
 
AlignableTrackerpTracker ()
 
- Protected Attributes inherited from AlignmentMonitorBase
const edm::InputTag m_beamSpotTag
 

Detailed Description

Definition at line 34 of file AlignmentMonitorMuonVsCurvature.cc.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
private
Enumerator
kDeltaX 
kDeltaDxDz 
kNumComponents 

Definition at line 70 of file AlignmentMonitorMuonVsCurvature.cc.

Constructor & Destructor Documentation

◆ AlignmentMonitorMuonVsCurvature()

AlignmentMonitorMuonVsCurvature::AlignmentMonitorMuonVsCurvature ( const edm::ParameterSet cfg,
edm::ConsumesCollector  iC 
)

Definition at line 84 of file AlignmentMonitorMuonVsCurvature.cc.

86  : AlignmentMonitorBase(cfg, iC, "AlignmentMonitorMuonVsCurvature"),
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")) {}

◆ ~AlignmentMonitorMuonVsCurvature()

AlignmentMonitorMuonVsCurvature::~AlignmentMonitorMuonVsCurvature ( )
inlineoverride

Definition at line 37 of file AlignmentMonitorMuonVsCurvature.cc.

37 {}

Member Function Documentation

◆ book()

void AlignmentMonitorMuonVsCurvature::book ( )
overridevirtual

Book or retrieve histograms; MUST be reimplemented.

Implements AlignmentMonitorBase.

Definition at line 107 of file AlignmentMonitorMuonVsCurvature.cc.

107  {
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 }

References AlignmentMonitorBase::book1D(), AlignmentMonitorBase::book2D(), AlignmentMonitorBase::bookProfile(), relativeConstraints::chamber, kDeltaDxDz, kDeltaX, kNumComponents, m_doCSC, m_doDT, m_minTrackPt, relativeConstraints::ring, relativeConstraints::station, AlCaHLTBitMon_QueryRunRegistry::string, th1f_trackerRedChi2, th1f_trackerRedChi2Diff, th2f_st_ring_chamber, th2f_wheel_st_sector, tprofile_st_ring_chamber, tprofile_wheel_st_sector, and makeMuonMisalignmentScenario::wheel.

◆ event()

void AlignmentMonitorMuonVsCurvature::event ( const edm::Event iEvent,
const edm::EventSetup iSetup,
const ConstTrajTrackPairCollection iTrajTracks 
)
overridevirtual

Called for each event (by "run()"): may be reimplemented.

Reimplemented from AlignmentMonitorBase.

Definition at line 194 of file AlignmentMonitorMuonVsCurvature.cc.

196  {
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 }

References pwdgSkimBPark_cfi::beamSpot, edm::EventSetup::getData(), iEvent, edm::InputTag::label(), AlignmentMonitorBase::m_beamSpotTag, m_esTokenDetId, m_esTokenGBTGeom, m_esTokenMF, m_esTokenProp, m_maxDxy, m_minTrackP, m_minTrackPt, m_muonCollectionTag, HLT_FULL_cff::magneticField, HLT_FULL_cff::muon, PDWG_BPHSkim_cff::muons, AlignmentMonitorBase::pNavigator(), processMuonResidualsFromTrack(), DiDispStaMuonMonitor_cfi::pt, and HLT_FULL_cff::track.

Referenced by Types.EventID::cppID().

◆ processMuonResidualsFromTrack()

void AlignmentMonitorMuonVsCurvature::processMuonResidualsFromTrack ( MuonResidualsFromTrack mrft,
const Trajectory traj = nullptr 
)

Definition at line 235 of file AlignmentMonitorMuonVsCurvature.cc.

236  {
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 }

References relativeConstraints::chamber, MuonResidualsFromTrack::chamberIds(), MuonResidualsFromTrack::chamberResidual(), reco::TrackBase::charge(), MuonResidualsFromTrack::contains_TIDTEC(), MuonSubdetId::CSC, MuonSubdetId::DT, MuonResidualsFromTrack::getTrack(), MuonChamberResidual::kCSC, kDeltaDxDz, kDeltaX, MuonChamberResidual::kDT13, m_allowTIDTEC, m_doCSC, m_doDT, m_maxTrackerRedChi2, m_minCSCHits, m_minDT13Hits, m_minNCrossedChambers, m_minTrackerHits, DetId::Muon, MuonResidualsFromTrack::normalizedChi2(), reco::TrackBase::normalizedChi2(), reco::TrackBase::pt(), reco::TrackBase::pz(), relativeConstraints::ring, relativeConstraints::station, th1f_trackerRedChi2, th1f_trackerRedChi2Diff, th2f_st_ring_chamber, th2f_wheel_st_sector, tprofile_st_ring_chamber, tprofile_wheel_st_sector, MuonResidualsFromTrack::trackerNumHits(), MuonResidualsFromTrack::trackerRedChi2(), and makeMuonMisalignmentScenario::wheel.

Referenced by event().

Member Data Documentation

◆ m_allowTIDTEC

bool AlignmentMonitorMuonVsCurvature::m_allowTIDTEC
private

Definition at line 59 of file AlignmentMonitorMuonVsCurvature.cc.

Referenced by processMuonResidualsFromTrack().

◆ m_doCSC

bool AlignmentMonitorMuonVsCurvature::m_doCSC
private

Definition at line 68 of file AlignmentMonitorMuonVsCurvature.cc.

Referenced by book(), and processMuonResidualsFromTrack().

◆ m_doDT

bool AlignmentMonitorMuonVsCurvature::m_doDT
private

Definition at line 67 of file AlignmentMonitorMuonVsCurvature.cc.

Referenced by book(), and processMuonResidualsFromTrack().

◆ m_esTokenDetId

const edm::ESGetToken<DetIdAssociator, DetIdAssociatorRecord> AlignmentMonitorMuonVsCurvature::m_esTokenDetId
private

Definition at line 49 of file AlignmentMonitorMuonVsCurvature.cc.

Referenced by event().

◆ m_esTokenGBTGeom

const edm::ESGetToken<GlobalTrackingGeometry, GlobalTrackingGeometryRecord> AlignmentMonitorMuonVsCurvature::m_esTokenGBTGeom
private

Definition at line 48 of file AlignmentMonitorMuonVsCurvature.cc.

Referenced by event().

◆ m_esTokenMF

const edm::ESGetToken<MagneticField, IdealMagneticFieldRecord> AlignmentMonitorMuonVsCurvature::m_esTokenMF
private

Definition at line 51 of file AlignmentMonitorMuonVsCurvature.cc.

Referenced by event().

◆ m_esTokenProp

const edm::ESGetToken<Propagator, TrackingComponentsRecord> AlignmentMonitorMuonVsCurvature::m_esTokenProp
private

Definition at line 50 of file AlignmentMonitorMuonVsCurvature.cc.

Referenced by event().

◆ m_layer

int AlignmentMonitorMuonVsCurvature::m_layer
private

Definition at line 65 of file AlignmentMonitorMuonVsCurvature.cc.

◆ m_maxDxy

double AlignmentMonitorMuonVsCurvature::m_maxDxy
private

Definition at line 61 of file AlignmentMonitorMuonVsCurvature.cc.

Referenced by event().

◆ m_maxTrackerRedChi2

double AlignmentMonitorMuonVsCurvature::m_maxTrackerRedChi2
private

Definition at line 58 of file AlignmentMonitorMuonVsCurvature.cc.

Referenced by processMuonResidualsFromTrack().

◆ m_minCSCHits

int AlignmentMonitorMuonVsCurvature::m_minCSCHits
private

Definition at line 64 of file AlignmentMonitorMuonVsCurvature.cc.

Referenced by processMuonResidualsFromTrack().

◆ m_minDT13Hits

int AlignmentMonitorMuonVsCurvature::m_minDT13Hits
private

Definition at line 62 of file AlignmentMonitorMuonVsCurvature.cc.

Referenced by processMuonResidualsFromTrack().

◆ m_minDT2Hits

int AlignmentMonitorMuonVsCurvature::m_minDT2Hits
private

Definition at line 63 of file AlignmentMonitorMuonVsCurvature.cc.

◆ m_minNCrossedChambers

bool AlignmentMonitorMuonVsCurvature::m_minNCrossedChambers
private

Definition at line 60 of file AlignmentMonitorMuonVsCurvature.cc.

Referenced by processMuonResidualsFromTrack().

◆ m_minTrackerHits

int AlignmentMonitorMuonVsCurvature::m_minTrackerHits
private

Definition at line 57 of file AlignmentMonitorMuonVsCurvature.cc.

Referenced by processMuonResidualsFromTrack().

◆ m_minTrackP

double AlignmentMonitorMuonVsCurvature::m_minTrackP
private

Definition at line 56 of file AlignmentMonitorMuonVsCurvature.cc.

Referenced by event().

◆ m_minTrackPt

double AlignmentMonitorMuonVsCurvature::m_minTrackPt
private

Definition at line 55 of file AlignmentMonitorMuonVsCurvature.cc.

Referenced by book(), and event().

◆ m_muonCollectionTag

edm::InputTag AlignmentMonitorMuonVsCurvature::m_muonCollectionTag
private

Definition at line 54 of file AlignmentMonitorMuonVsCurvature.cc.

Referenced by event().

◆ m_propagator

std::string AlignmentMonitorMuonVsCurvature::m_propagator
private

Definition at line 66 of file AlignmentMonitorMuonVsCurvature.cc.

◆ th1f_trackerRedChi2

TH1F* AlignmentMonitorMuonVsCurvature::th1f_trackerRedChi2
private

Definition at line 80 of file AlignmentMonitorMuonVsCurvature.cc.

Referenced by book(), and processMuonResidualsFromTrack().

◆ th1f_trackerRedChi2Diff

TH1F* AlignmentMonitorMuonVsCurvature::th1f_trackerRedChi2Diff
private

Definition at line 81 of file AlignmentMonitorMuonVsCurvature.cc.

Referenced by book(), and processMuonResidualsFromTrack().

◆ th2f_st_ring_chamber

TH2F* AlignmentMonitorMuonVsCurvature::th2f_st_ring_chamber[8][3][36][kNumComponents]
private

Definition at line 77 of file AlignmentMonitorMuonVsCurvature.cc.

Referenced by book(), and processMuonResidualsFromTrack().

◆ th2f_wheel_st_sector

TH2F* AlignmentMonitorMuonVsCurvature::th2f_wheel_st_sector[5][4][14][kNumComponents]
private

Definition at line 73 of file AlignmentMonitorMuonVsCurvature.cc.

Referenced by book(), and processMuonResidualsFromTrack().

◆ tprofile_st_ring_chamber

TProfile* AlignmentMonitorMuonVsCurvature::tprofile_st_ring_chamber[8][3][36][kNumComponents]
private

Definition at line 78 of file AlignmentMonitorMuonVsCurvature.cc.

Referenced by book(), and processMuonResidualsFromTrack().

◆ tprofile_wheel_st_sector

TProfile* AlignmentMonitorMuonVsCurvature::tprofile_wheel_st_sector[5][4][14][kNumComponents]
private

Definition at line 74 of file AlignmentMonitorMuonVsCurvature.cc.

Referenced by book(), and processMuonResidualsFromTrack().

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
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
edm::ESInputTag
Definition: ESInputTag.h:87
pwdgSkimBPark_cfi.beamSpot
beamSpot
Definition: pwdgSkimBPark_cfi.py:5
HLT_FULL_cff.track
track
Definition: HLT_FULL_cff.py:11724
AlignmentMonitorMuonVsCurvature::th1f_trackerRedChi2Diff
TH1F * th1f_trackerRedChi2Diff
Definition: AlignmentMonitorMuonVsCurvature.cc:81
AlignmentMonitorMuonVsCurvature::m_doDT
bool m_doDT
Definition: AlignmentMonitorMuonVsCurvature.cc:67
muon
Definition: MuonCocktails.h:17
DiDispStaMuonMonitor_cfi.pt
pt
Definition: DiDispStaMuonMonitor_cfi.py:39
relativeConstraints.station
station
Definition: relativeConstraints.py:67
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
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
HLT_FULL_cff.magneticField
magneticField
Definition: HLT_FULL_cff.py:348
edm::ConsumesCollector::esConsumes
auto esConsumes()
Definition: ConsumesCollector.h:97
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::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
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
DetIdAssociator
Definition: DetIdAssociator.h:45
AlignmentMonitorMuonVsCurvature::processMuonResidualsFromTrack
void processMuonResidualsFromTrack(MuonResidualsFromTrack &mrft, const Trajectory *traj=nullptr)
Definition: AlignmentMonitorMuonVsCurvature.cc:235
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
CSCDetId
Definition: CSCDetId.h:26
AlignmentMonitorMuonVsCurvature::m_esTokenGBTGeom
const edm::ESGetToken< GlobalTrackingGeometry, GlobalTrackingGeometryRecord > m_esTokenGBTGeom
Definition: AlignmentMonitorMuonVsCurvature.cc:48
makeMuonMisalignmentScenario.wheel
wheel
Definition: makeMuonMisalignmentScenario.py:319
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
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
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
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
AlignmentMonitorMuonVsCurvature::tprofile_st_ring_chamber
TProfile * tprofile_st_ring_chamber[8][3][36][kNumComponents]
Definition: AlignmentMonitorMuonVsCurvature.cc:78
Trajectory
Definition: Trajectory.h:38
AlignmentMonitorMuonVsCurvature::kNumComponents
Definition: AlignmentMonitorMuonVsCurvature.cc:70
relativeConstraints.ring
ring
Definition: relativeConstraints.py:68
relativeConstraints.chamber
chamber
Definition: relativeConstraints.py:53
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
DetId::Muon
Definition: DetId.h:26
DTChamberId
Definition: DTChamberId.h:14
MuonChamberResidual::kDT13
Definition: MuonChamberResidual.h:28
MagneticField
Definition: MagneticField.h:19
edm::InputTag
Definition: InputTag.h:15
AlignmentMonitorMuonVsCurvature::m_maxDxy
double m_maxDxy
Definition: AlignmentMonitorMuonVsCurvature.cc:61
AlignmentMonitorMuonVsCurvature::m_minTrackPt
double m_minTrackPt
Definition: AlignmentMonitorMuonVsCurvature.cc:55
AlignmentMonitorMuonVsCurvature::m_minNCrossedChambers
bool m_minNCrossedChambers
Definition: AlignmentMonitorMuonVsCurvature.cc:60
AlignmentMonitorBase::AlignmentMonitorBase
AlignmentMonitorBase(const edm::ParameterSet &cfg, const edm::ConsumesCollector &iC, std::string name)
Constructor.
Definition: AlignmentMonitorBase.cc:20