|
|
Go to the documentation of this file.
86 trackMinEnergy_(iConfig.getParameter<double>(
"trackMinimumEnergy")),
87 trackMinEta_(iConfig.getParameter<double>(
"trackMinimumEta")),
88 trackMaxEta_(iConfig.getParameter<double>(
"trackMaximumEta")) {
105 for (
const auto&
track : *RecTrackHandle) {
116 int numMTDBtlvalidhits = 0;
117 for (
const auto hit :
track.recHits()) {
118 if (
hit->isValid() ==
false)
121 if ((
Hit.det() == 6) && (
Hit.subdetId() == 1) && (
Hit.mtdSubDetector() == 1)) {
123 numMTDBtlvalidhits++;
129 if (MTDBtl ==
true) {
151 bool MTDEtlZneg =
false;
152 bool MTDEtlZpos =
false;
153 int numMTDEtlvalidhits = 0;
154 for (
const auto hit :
track.recHits()) {
155 if (
hit->isValid() ==
false)
158 if ((
Hit.det() == 6) && (
Hit.subdetId() == 1) && (
Hit.mtdSubDetector() == 2) && (
Hit.zside() == -1)) {
160 numMTDEtlvalidhits++;
162 if ((
Hit.det() == 6) && (
Hit.subdetId() == 1) && (
Hit.mtdSubDetector() == 2) && (
Hit.zside() == 1)) {
164 numMTDEtlvalidhits++;
171 if (MTDEtlZneg ==
true) {
179 if (MTDEtlZpos ==
true) {
191 for (
const auto&
v : *RecVertexHandle) {
197 cout <<
"The vertex is not valid" << endl;
212 ibook.
book1D(
"TrackBTLEffPhiTot",
"Track efficiency vs phi (Tot);#phi_{RECO} [rad]", 100, -3.2, 3.2);
216 ibook.
book1D(
"TrackBTLEffPhiMtd",
"Track efficiency vs phi (Mtd);#phi_{RECO} [rad]", 100, -3.2, 3.2);
218 meETLTrackRPTime_[0] = ibook.
book1D(
"TrackETLRPTimeZneg",
"Track t0 with respect to R.P. (-Z);t0 [ns]", 100, -1, 3);
219 meETLTrackRPTime_[1] = ibook.
book1D(
"TrackETLRPTimeZpos",
"Track t0 with respect to R.P. (+Z);t0 [ns]", 100, -1, 3);
221 ibook.
book1D(
"TrackETLEffEtaTotZneg",
"Track efficiency vs eta (Tot) (-Z);#eta_{RECO}", 100, -3.2, -1.4);
223 ibook.
book1D(
"TrackETLEffEtaTotZpos",
"Track efficiency vs eta (Tot) (+Z);#eta_{RECO}", 100, 1.4, 3.2);
225 ibook.
book1D(
"TrackETLEffPhiTotZneg",
"Track efficiency vs phi (Tot) (-Z);#phi_{RECO} [rad]", 100, -3.2, 3.2);
227 ibook.
book1D(
"TrackETLEffPhiTotZpos",
"Track efficiency vs phi (Tot) (+Z);#phi_{RECO} [rad]", 100, -3.2, 3.2);
229 ibook.
book1D(
"TrackETLEffPtTotZneg",
"Track efficiency vs pt (Tot) (-Z);pt_{RECO} [GeV]", 50, 0, 10);
231 ibook.
book1D(
"TrackETLEffPtTotZpos",
"Track efficiency vs pt (Tot) (+Z);pt_{RECO} [GeV]", 50, 0, 10);
233 ibook.
book1D(
"TrackETLEffEtaMtdZneg",
"Track efficiency vs eta (Mtd) (-Z);#eta_{RECO}", 100, -3.2, -1.4);
235 ibook.
book1D(
"TrackETLEffEtaMtdZpos",
"Track efficiency vs eta (Mtd) (+Z);#eta_{RECO}", 100, 1.4, 3.2);
237 ibook.
book1D(
"TrackETLEffPhiMtdZneg",
"Track efficiency vs phi (Mtd) (-Z);#phi_{RECO} [rad]", 100, -3.2, 3.2);
239 ibook.
book1D(
"TrackETLEffPhiMtdZpos",
"Track efficiency vs phi (Mtd) (+Z);#phi_{RECO} [rad]", 100, -3.2, 3.2);
241 ibook.
book1D(
"TrackETLEffPtMtdZneg",
"Track efficiency vs pt (Mtd) (-Z);pt_{RECO} [GeV]", 50, 0, 10);
243 ibook.
book1D(
"TrackETLEffPtMtdZpos",
"Track efficiency vs pt (Mtd) (+Z);pt_{RECO} [GeV]", 50, 0, 10);
244 meTrackNumHits_ = ibook.
book1D(
"TrackNumHits",
"Number of valid MTD hits per track ; Number of hits", 10, -5, 5);
245 meVerZ_ = ibook.
book1D(
"VerZ",
"RECO Vertex Z;Z_{RECO} [cm]", 180, -18, 18);
246 meVerTime_ = ibook.
book1D(
"VerTime",
"RECO Vertex Time;t0 [ns]", 100, -1, 1);
247 meVerNumber_ = ibook.
book1D(
"VerNumber",
"RECO Vertex Number: Number of vertices", 100, 0, 500);
258 desc.
add<
double>(
"trackMinimumEnergy", 1.0);
259 desc.
add<
double>(
"trackMinimumEta", 1.5);
260 desc.
add<
double>(
"trackMaximumEta", 3.2);
262 descriptions.
add(
"globalReco", desc);
MonitorElement * meETLTrackEffPtMtd_[2]
ParameterDescriptionBase * add(U const &iLabel, T const &value)
const float trackMinEnergy_
~MtdGlobalRecoValidation() override
MonitorElement * meBTLTrackEffEtaMtd_
edm::EDGetTokenT< std::vector< reco::Vertex > > RecVertexToken_
virtual void setCurrentFolder(std::string const &fullpath)
MonitorElement * meBTLTrackEffPhiTot_
MonitorElement * meETLTrackEffEtaTot_[2]
MonitorElement * meTrackNumHits_
edm::EDGetTokenT< reco::TrackCollection > RecTrackToken_
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
MonitorElement * meETLTrackEffPhiTot_[2]
MonitorElement * meETLTrackEffPtTot_[2]
#define DEFINE_FWK_MODULE(type)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
MonitorElement * meBTLTrackEffEtaTot_
MonitorElement * meETLTrackRPTime_[2]
MonitorElement * meBTLTrackEffPtMtd_
MonitorElement * meBTLTrackRPTime_
MonitorElement * meETLTrackEffPhiMtd_[2]
auto makeValid(const U &iOtherHandleType) noexcept(false)
T getParameter(std::string const &) const
MonitorElement * meVerNumber_
MonitorElement * meBTLTrackEffPhiMtd_
MonitorElement * meETLTrackNumHits_[2]
Detector identifier base class for the MIP Timing Layer.
void analyze(const edm::Event &, const edm::EventSetup &) override
const std::string folder_
MonitorElement * meETLTrackEffEtaMtd_[2]
MonitorElement * meVerTime_
MtdGlobalRecoValidation(const edm::ParameterSet &)
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
MonitorElement * meBTLTrackEffPtTot_
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)