79 m_muonCollectionTag(
cfg.getParameter<
edm::
InputTag>(
"muonCollectionTag")),
80 m_minTrackPt(
cfg.getParameter<double>(
"minTrackPt")),
81 m_minTrackP(
cfg.getParameter<double>(
"minTrackP")),
82 m_minTrackerHits(
cfg.getParameter<
int>(
"minTrackerHits")),
83 m_maxTrackerRedChi2(
cfg.getParameter<double>(
"maxTrackerRedChi2")),
84 m_allowTIDTEC(
cfg.getParameter<
bool>(
"allowTIDTEC")),
85 m_minNCrossedChambers(
cfg.getParameter<
int>(
"minNCrossedChambers")),
86 m_maxDxy(
cfg.getParameter<double>(
"maxDxy")),
87 m_minDT13Hits(
cfg.getParameter<
int>(
"minDT13Hits")),
88 m_minDT2Hits(
cfg.getParameter<
int>(
"minDT2Hits")),
89 m_minCSCHits(
cfg.getParameter<
int>(
"minCSCHits")),
90 m_layer(
cfg.getParameter<
int>(
"layer")),
91 m_propagator(
cfg.getParameter<
std::
string>(
"propagator")),
92 m_doDT(
cfg.getParameter<
bool>(
"doDT")),
93 m_doCSC(
cfg.getParameter<
bool>(
"doCSC")) {}
97 std::string wheelname[5] = {
"wheelm2_",
"wheelm1_",
"wheelz_",
"wheelp1_",
"wheelp2_"};
101 for (
int sector = 1; sector <= 14; sector++) {
102 if (
station != 4 && sector > 12)
105 char stationname[20];
106 sprintf(stationname,
"st%d_",
station);
109 sprintf(sectorname,
"sector%02d_", sector);
111 for (
int component = 0; component <
kNumComponents; component++) {
112 std::stringstream th2f_name, tprofile_name;
113 th2f_name <<
"th2f_" << wheelname[
wheel + 2] << stationname << sectorname;
114 tprofile_name <<
"tprofile_" << wheelname[
wheel + 2] << stationname << sectorname;
116 double yminmax = 50., xminmax = 0.05;
121 th2f_name <<
"deltax";
122 tprofile_name <<
"deltax";
124 th2f_name <<
"deltadxdz";
125 tprofile_name <<
"deltadxdz";
129 book2D(
"/iterN/", th2f_name.str(),
"", 30, -xminmax, xminmax, ynbins, -yminmax, yminmax);
131 bookProfile(
"/iterN/", tprofile_name.str(),
"", 30, -xminmax, xminmax);
136 std::string stname[8] = {
"Ep_S1_",
"Ep_S2_",
"Ep_S3_",
"Ep_S4_",
"Em_S1_",
"Em_S2_",
"Em_S3_",
"Em_S4_"};
142 if (st > 1 &&
ring > 2)
148 sprintf(ringname,
"R%d_",
ring);
151 sprintf(chname,
"C%02d_",
chamber);
153 for (
int component = 0; component <
kNumComponents; component++) {
154 std::stringstream componentname;
155 double yminmax = 50., xminmax = 0.05;
161 componentname <<
"deltax";
163 componentname <<
"deltadxdz";
166 std::stringstream th2f_name, tprofile_name;
167 th2f_name <<
"th2f_" << stname[
station] << ringname << chname << componentname.str();
168 tprofile_name <<
"tprofile_" << stname[
station] << ringname << chname << componentname.str();
171 book2D(
"/iterN/", th2f_name.str(),
"", 30, -xminmax, xminmax, 100, -yminmax, yminmax);
173 bookProfile(
"/iterN/", tprofile_name.str(),
"", 30, -xminmax, xminmax);
179 book1D(
"/iterN/",
"trackerRedChi2Diff",
"Fit-minus-refit tracker reduced chi^2", 100, -5., 5.);
202 for (ConstTrajTrackPairCollection::const_iterator trajtrack = trajtracks.begin(); trajtrack != trajtracks.end();
218 if (!(
muon->isTrackerMuon() &&
muon->innerTrack().isNonnull()))
238 std::vector<DetId> chamberIds = mrft.
chamberIds();
239 for (
unsigned ch = 0; ch < chamberIds.size(); ch++)
256 for (std::vector<DetId>::const_iterator chamberId = chamberIds.begin(); chamberId != chamberIds.end(); ++chamberId) {
265 int wheel = dtid.wheel() + 2;
266 int station = dtid.station() - 1;
267 int sector = dtid.sector() - 1;
269 double resid_x = 10. * dt13->global_residual();
270 double resid_dxdz = 1000. * dt13->global_resslope();
272 if (fabs(resid_x) < 100. && fabs(resid_dxdz) < 100.) {
286 int station = 4 * cscid.endcap() + cscid.station() - 5;
287 int ring = cscid.ring() - 1;
288 if (cscid.station() == 1 && cscid.ring() == 4)
290 int chamber = cscid.chamber() - 1;
292 double resid_x = 10. *
csc->global_residual();
293 double resid_dxdz = 1000. *
csc->global_resslope();
295 if (fabs(resid_x) < 100. && fabs(resid_dxdz) < 100.) {