File indexing completed on 2024-12-20 03:14:19
0001 #include <string>
0002
0003 #include "FWCore/Framework/interface/MakerMacros.h"
0004 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0005 #include "FWCore/ServiceRegistry/interface/Service.h"
0006 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0007
0008 #include "DQMServices/Core/interface/DQMEDHarvester.h"
0009 #include "DQMServices/Core/interface/DQMStore.h"
0010
0011 #include "DataFormats/ForwardDetId/interface/ETLDetId.h"
0012
0013 class MtdTracksHarvester : public DQMEDHarvester {
0014 public:
0015 explicit MtdTracksHarvester(const edm::ParameterSet& iConfig);
0016 ~MtdTracksHarvester() override;
0017
0018 static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0019
0020 protected:
0021 void dqmEndJob(DQMStore::IBooker&, DQMStore::IGetter&) override;
0022
0023 private:
0024 void computeEfficiency1D(MonitorElement* num, MonitorElement* den, MonitorElement* result);
0025 void normalize(MonitorElement* h, double scale);
0026
0027 const std::string folder_;
0028
0029
0030 MonitorElement* meBtlEtaEff_;
0031 MonitorElement* meBtlPhiEff_;
0032 MonitorElement* meBtlPtEff_;
0033 MonitorElement* meEtlEtaEff_;
0034 MonitorElement* meEtlPhiEff_;
0035 MonitorElement* meEtlPtEff_;
0036 MonitorElement* meEtlEtaEff2_;
0037 MonitorElement* meEtlPhiEff2_;
0038 MonitorElement* meEtlPtEff2_;
0039 MonitorElement* meEtlEtaEffLowPt_[2];
0040 MonitorElement* meEtlEtaEff2LowPt_[2];
0041
0042 MonitorElement* meBTLTPPtSelEff_;
0043 MonitorElement* meBTLTPEtaSelEff_;
0044 MonitorElement* meBTLTPPtMatchEff_;
0045 MonitorElement* meBTLTPEtaMatchEff_;
0046 MonitorElement* meETLTPPtSelEff_;
0047 MonitorElement* meBTLTPPtCorrectMatchEff_;
0048 MonitorElement* meBTLTPEtaCorrectMatchEff_;
0049 MonitorElement* meETLTPEtaSelEff_;
0050 MonitorElement* meETLTPPtMatchEff_;
0051 MonitorElement* meETLTPEtaMatchEff_;
0052 MonitorElement* meETLTPPtMatchEff2_;
0053 MonitorElement* meETLTPEtaMatchEff2_;
0054 MonitorElement* meETLTPPtCorrectMatchEff_;
0055 MonitorElement* meETLTPEtaCorrectMatchEff_;
0056 MonitorElement* meETLTPPtCorrectMatchEff2_;
0057 MonitorElement* meETLTPEtaCorrectMatchEff2_;
0058
0059
0060 MonitorElement* meBTLTPmtdDirectEtaSelEff_;
0061 MonitorElement* meBTLTPmtdDirectPtSelEff_;
0062 MonitorElement* meBTLTPmtdOtherEtaSelEff_;
0063 MonitorElement* meBTLTPmtdOtherPtSelEff_;
0064 MonitorElement* meBTLTPnomtdEtaSelEff_;
0065 MonitorElement* meBTLTPnomtdPtSelEff_;
0066
0067 MonitorElement* meBTLTPmtdDirectCorrectAssocEtaMatchEff_;
0068 MonitorElement* meBTLTPmtdDirectCorrectAssocPtMatchEff_;
0069 MonitorElement* meBTLTPmtdDirectWrongAssocEtaMatchEff_;
0070 MonitorElement* meBTLTPmtdDirectWrongAssocPtMatchEff_;
0071 MonitorElement* meBTLTPmtdDirectNoAssocEtaMatchEff_;
0072 MonitorElement* meBTLTPmtdDirectNoAssocPtMatchEff_;
0073
0074 MonitorElement* meBTLTPmtdOtherCorrectAssocEtaMatchEff_;
0075 MonitorElement* meBTLTPmtdOtherCorrectAssocPtMatchEff_;
0076 MonitorElement* meBTLTPmtdOtherWrongAssocEtaMatchEff_;
0077 MonitorElement* meBTLTPmtdOtherWrongAssocPtMatchEff_;
0078 MonitorElement* meBTLTPmtdOtherNoAssocEtaMatchEff_;
0079 MonitorElement* meBTLTPmtdOtherNoAssocPtMatchEff_;
0080
0081 MonitorElement* meBTLTPnomtdEtaMatchEff_;
0082 MonitorElement* meBTLTPnomtdPtMatchEff_;
0083
0084
0085 MonitorElement* meETLTPmtd1EtaSelEff_;
0086 MonitorElement* meETLTPmtd1PtSelEff_;
0087 MonitorElement* meETLTPmtd2EtaSelEff_;
0088 MonitorElement* meETLTPmtd2PtSelEff_;
0089 MonitorElement* meETLTPnomtdEtaSelEff_;
0090 MonitorElement* meETLTPnomtdPtSelEff_;
0091
0092 MonitorElement* meETLTPmtd1CorrectAssocEtaMatchEff_;
0093 MonitorElement* meETLTPmtd1CorrectAssocPtMatchEff_;
0094 MonitorElement* meETLTPmtd1WrongAssocEtaMatchEff_;
0095 MonitorElement* meETLTPmtd1WrongAssocPtMatchEff_;
0096 MonitorElement* meETLTPmtd1NoAssocEtaMatchEff_;
0097 MonitorElement* meETLTPmtd1NoAssocPtMatchEff_;
0098
0099 MonitorElement* meETLTPmtd2CorrectAssocEtaMatchEff_;
0100 MonitorElement* meETLTPmtd2CorrectAssocPtMatchEff_;
0101 MonitorElement* meETLTPmtd2WrongAssocEtaMatchEff_;
0102 MonitorElement* meETLTPmtd2WrongAssocPtMatchEff_;
0103 MonitorElement* meETLTPmtd2NoAssocEtaMatchEff_;
0104 MonitorElement* meETLTPmtd2NoAssocPtMatchEff_;
0105
0106 MonitorElement* meETLTPnomtdEtaMatchEff_;
0107 MonitorElement* meETLTPnomtdPtMatchEff_;
0108
0109
0110 MonitorElement* meNoTimeFraction_;
0111 MonitorElement* meExtraPtEff_;
0112 MonitorElement* meExtraPtEtl2Eff_;
0113 MonitorElement* meExtraEtaEff_;
0114 MonitorElement* meExtraEtaEtl2Eff_;
0115 MonitorElement* meExtraPhiAtBTLEff_;
0116 MonitorElement* meExtraMTDfailExtenderEtaEff_;
0117 MonitorElement* meExtraMTDfailExtenderPtEff_;
0118 };
0119
0120
0121 MtdTracksHarvester::MtdTracksHarvester(const edm::ParameterSet& iConfig)
0122 : folder_(iConfig.getParameter<std::string>("folder")) {}
0123
0124 MtdTracksHarvester::~MtdTracksHarvester() {}
0125
0126
0127 void MtdTracksHarvester::computeEfficiency1D(MonitorElement* num, MonitorElement* den, MonitorElement* result) {
0128 for (int ibin = 1; ibin <= den->getNbinsX(); ibin++) {
0129 double eff = num->getBinContent(ibin) / den->getBinContent(ibin);
0130 double bin_err = sqrt((num->getBinContent(ibin) * (den->getBinContent(ibin) - num->getBinContent(ibin))) /
0131 pow(den->getBinContent(ibin), 3));
0132 if (den->getBinContent(ibin) == 0) {
0133 eff = 0;
0134 bin_err = 0;
0135 }
0136 result->setBinContent(ibin, eff);
0137 result->setBinError(ibin, bin_err);
0138 }
0139 }
0140
0141 void MtdTracksHarvester::normalize(MonitorElement* h, double scale) {
0142 double integral = h->getTH1F()->Integral();
0143 double norma = (integral > 0.) ? scale / integral : 0.;
0144 for (int ibin = 1; ibin <= h->getNbinsX(); ibin++) {
0145 double eff = h->getBinContent(ibin) * norma;
0146 double bin_err = h->getBinError(ibin) * norma;
0147 h->setBinContent(ibin, eff);
0148 h->setBinError(ibin, bin_err);
0149 }
0150 }
0151
0152
0153 void MtdTracksHarvester::dqmEndJob(DQMStore::IBooker& ibook, DQMStore::IGetter& igetter) {
0154
0155 MonitorElement* meBTLTrackEtaTot = igetter.get(folder_ + "TrackBTLEtaTot");
0156 MonitorElement* meBTLTrackPhiTot = igetter.get(folder_ + "TrackBTLPhiTot");
0157 MonitorElement* meBTLTrackPtTot = igetter.get(folder_ + "TrackBTLPtTot");
0158 MonitorElement* meBTLTrackEtaMtd = igetter.get(folder_ + "TrackBTLEtaMtd");
0159 MonitorElement* meBTLTrackPhiMtd = igetter.get(folder_ + "TrackBTLPhiMtd");
0160 MonitorElement* meBTLTrackPtMtd = igetter.get(folder_ + "TrackBTLPtMtd");
0161
0162 MonitorElement* meETLTrackEtaTot = igetter.get(folder_ + "TrackETLEtaTot");
0163 MonitorElement* meETLTrackPhiTot = igetter.get(folder_ + "TrackETLPhiTot");
0164 MonitorElement* meETLTrackPtTot = igetter.get(folder_ + "TrackETLPtTot");
0165 MonitorElement* meETLTrackEtaMtd = igetter.get(folder_ + "TrackETLEtaMtd");
0166 MonitorElement* meETLTrackPhiMtd = igetter.get(folder_ + "TrackETLPhiMtd");
0167 MonitorElement* meETLTrackPtMtd = igetter.get(folder_ + "TrackETLPtMtd");
0168 MonitorElement* meETLTrackEta2Mtd = igetter.get(folder_ + "TrackETLEta2Mtd");
0169 MonitorElement* meETLTrackPhi2Mtd = igetter.get(folder_ + "TrackETLPhi2Mtd");
0170 MonitorElement* meETLTrackPt2Mtd = igetter.get(folder_ + "TrackETLPt2Mtd");
0171
0172 MonitorElement* meETLTrackEtaTotLowPt0 = igetter.get(folder_ + "TrackETLEtaTotLowPt0");
0173 MonitorElement* meETLTrackEtaTotLowPt1 = igetter.get(folder_ + "TrackETLEtaTotLowPt1");
0174 MonitorElement* meETLTrackEtaMtdLowPt0 = igetter.get(folder_ + "TrackETLEtaMtdLowPt0");
0175 MonitorElement* meETLTrackEtaMtdLowPt1 = igetter.get(folder_ + "TrackETLEtaMtdLowPt1");
0176 MonitorElement* meETLTrackEta2MtdLowPt0 = igetter.get(folder_ + "TrackETLEta2MtdLowPt0");
0177 MonitorElement* meETLTrackEta2MtdLowPt1 = igetter.get(folder_ + "TrackETLEta2MtdLowPt1");
0178
0179 MonitorElement* meExtraPtMtd = igetter.get(folder_ + "ExtraPtMtd");
0180 MonitorElement* meExtraPtEtl2Mtd = igetter.get(folder_ + "ExtraPtEtl2Mtd");
0181 MonitorElement* meTrackMatchedTPPtTotLV = igetter.get(folder_ + "MatchedTPPtTotLV");
0182 MonitorElement* meExtraEtaMtd = igetter.get(folder_ + "ExtraEtaMtd");
0183 MonitorElement* meExtraEtaEtl2Mtd = igetter.get(folder_ + "ExtraEtaEtl2Mtd");
0184 MonitorElement* meTrackMatchedTPEtaTotLV = igetter.get(folder_ + "MatchedTPEtaTotLV");
0185
0186 MonitorElement* meBTLTrackMatchedTPPtTot = igetter.get(folder_ + "BTLTrackMatchedTPPtTot");
0187 MonitorElement* meBTLTrackMatchedTPPtMtd = igetter.get(folder_ + "BTLTrackMatchedTPPtMtd");
0188 MonitorElement* meBTLTrackMatchedTPEtaTot = igetter.get(folder_ + "BTLTrackMatchedTPEtaTot");
0189 MonitorElement* meBTLTrackMatchedTPEtaMtd = igetter.get(folder_ + "BTLTrackMatchedTPEtaMtd");
0190 MonitorElement* meETLTrackMatchedTPPtTot = igetter.get(folder_ + "ETLTrackMatchedTPPtTot");
0191 MonitorElement* meETLTrackMatchedTPPtMtd = igetter.get(folder_ + "ETLTrackMatchedTPPtMtd");
0192 MonitorElement* meETLTrackMatchedTPPt2Mtd = igetter.get(folder_ + "ETLTrackMatchedTPPt2Mtd");
0193 MonitorElement* meETLTrackMatchedTPEtaTot = igetter.get(folder_ + "ETLTrackMatchedTPEtaTot");
0194 MonitorElement* meETLTrackMatchedTPEtaMtd = igetter.get(folder_ + "ETLTrackMatchedTPEtaMtd");
0195 MonitorElement* meETLTrackMatchedTPEta2Mtd = igetter.get(folder_ + "ETLTrackMatchedTPEta2Mtd");
0196 MonitorElement* meETLTrackMatchedTPPtMtdCorrect = igetter.get(folder_ + "ETLTrackMatchedTPPtMtdCorrect");
0197 MonitorElement* meETLTrackMatchedTPEtaMtdCorrect = igetter.get(folder_ + "ETLTrackMatchedTPEtaMtdCorrect");
0198
0199
0200 MonitorElement* meBTLTrackMatchedTPmtdDirectEta = igetter.get(folder_ + "BTLTrackMatchedTPmtdDirectEta");
0201 MonitorElement* meBTLTrackMatchedTPmtdDirectPt = igetter.get(folder_ + "BTLTrackMatchedTPmtdDirectPt");
0202 MonitorElement* meBTLTrackMatchedTPmtdOtherEta = igetter.get(folder_ + "BTLTrackMatchedTPmtdOtherEta");
0203 MonitorElement* meBTLTrackMatchedTPmtdOtherPt = igetter.get(folder_ + "BTLTrackMatchedTPmtdOtherPt");
0204 ;
0205 MonitorElement* meBTLTrackMatchedTPnomtdEta = igetter.get(folder_ + "BTLTrackMatchedTPnomtdEta");
0206 MonitorElement* meBTLTrackMatchedTPnomtdPt = igetter.get(folder_ + "BTLTrackMatchedTPnomtdPt");
0207
0208 MonitorElement* meBTLTrackMatchedTPmtdDirectCorrectAssocEta =
0209 igetter.get(folder_ + "BTLTrackMatchedTPmtdDirectCorrectAssocEta");
0210 MonitorElement* meBTLTrackMatchedTPmtdDirectCorrectAssocPt =
0211 igetter.get(folder_ + "BTLTrackMatchedTPmtdDirectCorrectAssocPt");
0212 MonitorElement* meBTLTrackMatchedTPmtdDirectWrongAssocEta =
0213 igetter.get(folder_ + "BTLTrackMatchedTPmtdDirectWrongAssocEta");
0214 MonitorElement* meBTLTrackMatchedTPmtdDirectWrongAssocPt =
0215 igetter.get(folder_ + "BTLTrackMatchedTPmtdDirectWrongAssocPt");
0216 MonitorElement* meBTLTrackMatchedTPmtdDirectNoAssocEta =
0217 igetter.get(folder_ + "BTLTrackMatchedTPmtdDirectNoAssocEta");
0218 MonitorElement* meBTLTrackMatchedTPmtdDirectNoAssocPt = igetter.get(folder_ + "BTLTrackMatchedTPmtdDirectNoAssocPt");
0219
0220 MonitorElement* meBTLTrackMatchedTPmtdOtherCorrectAssocEta =
0221 igetter.get(folder_ + "BTLTrackMatchedTPmtdOtherCorrectAssocEta");
0222 MonitorElement* meBTLTrackMatchedTPmtdOtherCorrectAssocPt =
0223 igetter.get(folder_ + "BTLTrackMatchedTPmtdOtherCorrectAssocPt");
0224 MonitorElement* meBTLTrackMatchedTPmtdOtherWrongAssocEta =
0225 igetter.get(folder_ + "BTLTrackMatchedTPmtdOtherWrongAssocEta");
0226 MonitorElement* meBTLTrackMatchedTPmtdOtherWrongAssocPt =
0227 igetter.get(folder_ + "BTLTrackMatchedTPmtdOtherWrongAssocPt");
0228 MonitorElement* meBTLTrackMatchedTPmtdOtherNoAssocEta = igetter.get(folder_ + "BTLTrackMatchedTPmtdOtherNoAssocEta");
0229 MonitorElement* meBTLTrackMatchedTPmtdOtherNoAssocPt = igetter.get(folder_ + "BTLTrackMatchedTPmtdOtherNoAssocPt");
0230
0231 MonitorElement* meBTLTrackMatchedTPnomtdAssocEta = igetter.get(folder_ + "BTLTrackMatchedTPnomtdAssocEta");
0232 MonitorElement* meBTLTrackMatchedTPnomtdAssocPt = igetter.get(folder_ + "BTLTrackMatchedTPnomtdAssocPt");
0233
0234 MonitorElement* meETLTrackMatchedTPmtd1Eta = igetter.get(folder_ + "ETLTrackMatchedTPmtd1Eta");
0235 MonitorElement* meETLTrackMatchedTPmtd1Pt = igetter.get(folder_ + "ETLTrackMatchedTPmtd1Pt");
0236 MonitorElement* meETLTrackMatchedTPmtd2Eta = igetter.get(folder_ + "ETLTrackMatchedTPmtd2Eta");
0237 MonitorElement* meETLTrackMatchedTPmtd2Pt = igetter.get(folder_ + "ETLTrackMatchedTPmtd2Pt");
0238 ;
0239 MonitorElement* meETLTrackMatchedTPnomtdEta = igetter.get(folder_ + "ETLTrackMatchedTPnomtdEta");
0240 MonitorElement* meETLTrackMatchedTPnomtdPt = igetter.get(folder_ + "ETLTrackMatchedTPnomtdPt");
0241
0242 MonitorElement* meETLTrackMatchedTPmtd1CorrectAssocEta =
0243 igetter.get(folder_ + "ETLTrackMatchedTPmtd1CorrectAssocEta");
0244 MonitorElement* meETLTrackMatchedTPmtd1CorrectAssocPt = igetter.get(folder_ + "ETLTrackMatchedTPmtd1CorrectAssocPt");
0245 MonitorElement* meETLTrackMatchedTPmtd1WrongAssocEta = igetter.get(folder_ + "ETLTrackMatchedTPmtd1WrongAssocEta");
0246 MonitorElement* meETLTrackMatchedTPmtd1WrongAssocPt = igetter.get(folder_ + "ETLTrackMatchedTPmtd1WrongAssocPt");
0247 MonitorElement* meETLTrackMatchedTPmtd1NoAssocEta = igetter.get(folder_ + "ETLTrackMatchedTPmtd1NoAssocEta");
0248 MonitorElement* meETLTrackMatchedTPmtd1NoAssocPt = igetter.get(folder_ + "ETLTrackMatchedTPmtd1NoAssocPt");
0249
0250 MonitorElement* meETLTrackMatchedTPmtd2CorrectAssocEta =
0251 igetter.get(folder_ + "ETLTrackMatchedTPmtd2CorrectAssocEta");
0252 MonitorElement* meETLTrackMatchedTPmtd2CorrectAssocPt = igetter.get(folder_ + "ETLTrackMatchedTPmtd2CorrectAssocPt");
0253 MonitorElement* meETLTrackMatchedTPmtd2WrongAssocEta = igetter.get(folder_ + "ETLTrackMatchedTPmtd2WrongAssocEta");
0254 MonitorElement* meETLTrackMatchedTPmtd2WrongAssocPt = igetter.get(folder_ + "ETLTrackMatchedTPmtd2WrongAssocPt");
0255 MonitorElement* meETLTrackMatchedTPmtd2NoAssocEta = igetter.get(folder_ + "ETLTrackMatchedTPmtd2NoAssocEta");
0256 MonitorElement* meETLTrackMatchedTPmtd2NoAssocPt = igetter.get(folder_ + "ETLTrackMatchedTPmtd2NoAssocPt");
0257
0258 MonitorElement* meETLTrackMatchedTPnomtdAssocEta = igetter.get(folder_ + "ETLTrackMatchedTPnomtdAssocEta");
0259 MonitorElement* meETLTrackMatchedTPnomtdAssocPt = igetter.get(folder_ + "ETLTrackMatchedTPnomtdAssocPt");
0260
0261
0262 MonitorElement* meTrackNumHits = igetter.get(folder_ + "TrackNumHits");
0263 MonitorElement* meTrackNumHitsNT = igetter.get(folder_ + "TrackNumHitsNT");
0264 MonitorElement* meExtraPhiAtBTL = igetter.get(folder_ + "ExtraPhiAtBTL");
0265 MonitorElement* meExtraPhiAtBTLmatched = igetter.get(folder_ + "ExtraPhiAtBTLmatched");
0266 MonitorElement* meExtraBTLeneInCone = igetter.get(folder_ + "ExtraBTLeneInCone");
0267 MonitorElement* meExtraMTDfailExtenderEta = igetter.get(folder_ + "ExtraMTDfailExtenderEta");
0268 MonitorElement* meExtraMTDfailExtenderPt = igetter.get(folder_ + "ExtraMTDfailExtenderPt");
0269
0270 if (!meBTLTrackEtaTot || !meBTLTrackPhiTot || !meBTLTrackPtTot || !meBTLTrackEtaMtd || !meBTLTrackPhiMtd ||
0271 !meBTLTrackPtMtd || !meETLTrackEtaTot || !meETLTrackPhiTot || !meETLTrackPtTot || !meETLTrackEtaMtd ||
0272 !meETLTrackPhiMtd || !meETLTrackPtMtd || !meETLTrackEta2Mtd || !meETLTrackPhi2Mtd || !meETLTrackPt2Mtd ||
0273 !meETLTrackEtaTotLowPt0 || !meETLTrackEtaTotLowPt1 || !meETLTrackEtaMtdLowPt0 || !meETLTrackEtaMtdLowPt1 ||
0274 !meETLTrackEta2MtdLowPt0 || !meETLTrackEta2MtdLowPt1 || !meTrackMatchedTPPtTotLV || !meTrackMatchedTPEtaTotLV ||
0275
0276 !meBTLTrackMatchedTPPtTot || !meBTLTrackMatchedTPPtMtd || !meBTLTrackMatchedTPEtaTot ||
0277 !meBTLTrackMatchedTPEtaMtd || !meETLTrackMatchedTPPtTot || !meETLTrackMatchedTPPtMtd ||
0278 !meETLTrackMatchedTPPt2Mtd || !meETLTrackMatchedTPEtaTot || !meETLTrackMatchedTPEtaMtd ||
0279 !meETLTrackMatchedTPEta2Mtd || !meETLTrackMatchedTPPtMtdCorrect || !meETLTrackMatchedTPEtaMtdCorrect ||
0280
0281 !meBTLTrackMatchedTPmtdDirectEta || !meBTLTrackMatchedTPmtdDirectPt || !meBTLTrackMatchedTPmtdOtherEta ||
0282 !meBTLTrackMatchedTPmtdOtherPt || !meBTLTrackMatchedTPnomtdEta || !meBTLTrackMatchedTPnomtdPt ||
0283 !meBTLTrackMatchedTPmtdDirectCorrectAssocEta || !meBTLTrackMatchedTPmtdDirectCorrectAssocPt ||
0284 !meBTLTrackMatchedTPmtdDirectWrongAssocEta || !meBTLTrackMatchedTPmtdDirectWrongAssocPt ||
0285 !meBTLTrackMatchedTPmtdDirectNoAssocEta || !meBTLTrackMatchedTPmtdDirectNoAssocPt ||
0286 !meBTLTrackMatchedTPmtdOtherCorrectAssocEta || !meBTLTrackMatchedTPmtdOtherCorrectAssocPt ||
0287 !meBTLTrackMatchedTPmtdOtherWrongAssocEta || !meBTLTrackMatchedTPmtdOtherWrongAssocPt ||
0288 !meBTLTrackMatchedTPmtdOtherNoAssocEta || !meBTLTrackMatchedTPmtdOtherNoAssocPt ||
0289 !meBTLTrackMatchedTPnomtdAssocEta || !meBTLTrackMatchedTPnomtdAssocPt || !meETLTrackMatchedTPmtd1Eta ||
0290 !meETLTrackMatchedTPmtd1Pt || !meETLTrackMatchedTPmtd2Eta || !meETLTrackMatchedTPmtd2Pt ||
0291 !meETLTrackMatchedTPnomtdEta || !meETLTrackMatchedTPnomtdPt || !meETLTrackMatchedTPmtd1CorrectAssocEta ||
0292 !meETLTrackMatchedTPmtd1CorrectAssocPt || !meETLTrackMatchedTPmtd1WrongAssocEta ||
0293 !meETLTrackMatchedTPmtd1WrongAssocPt || !meETLTrackMatchedTPmtd1NoAssocEta || !meETLTrackMatchedTPmtd1NoAssocPt ||
0294 !meETLTrackMatchedTPmtd2CorrectAssocEta || !meETLTrackMatchedTPmtd2CorrectAssocPt ||
0295 !meETLTrackMatchedTPmtd2WrongAssocEta || !meETLTrackMatchedTPmtd2WrongAssocPt ||
0296 !meETLTrackMatchedTPmtd2NoAssocEta || !meETLTrackMatchedTPmtd2NoAssocPt || !meETLTrackMatchedTPnomtdAssocEta ||
0297 !meETLTrackMatchedTPnomtdAssocPt || !meTrackNumHits || !meTrackNumHitsNT || !meExtraPtMtd || !meExtraPtEtl2Mtd ||
0298 !meExtraEtaMtd || !meExtraEtaEtl2Mtd || !meExtraPhiAtBTL || !meExtraPhiAtBTLmatched || !meExtraBTLeneInCone ||
0299 !meExtraMTDfailExtenderEta || !meExtraMTDfailExtenderPt) {
0300 edm::LogError("MtdTracksHarvester") << "Monitoring histograms not found!" << std::endl;
0301 return;
0302 }
0303
0304
0305 ibook.cd(folder_);
0306 meBtlEtaEff_ = ibook.book1D("BtlEtaEff",
0307 " Track Efficiency VS Eta;#eta;Efficiency",
0308 meBTLTrackEtaTot->getNbinsX(),
0309 meBTLTrackEtaTot->getTH1()->GetXaxis()->GetXmin(),
0310 meBTLTrackEtaTot->getTH1()->GetXaxis()->GetXmax());
0311 meBtlEtaEff_->getTH1()->SetMinimum(0.);
0312 computeEfficiency1D(meBTLTrackEtaMtd, meBTLTrackEtaTot, meBtlEtaEff_);
0313
0314 meBtlPhiEff_ = ibook.book1D("BtlPhiEff",
0315 "Track Efficiency VS Phi;#phi [rad];Efficiency",
0316 meBTLTrackPhiTot->getNbinsX(),
0317 meBTLTrackPhiTot->getTH1()->GetXaxis()->GetXmin(),
0318 meBTLTrackPhiTot->getTH1()->GetXaxis()->GetXmax());
0319 meBtlPhiEff_->getTH1()->SetMinimum(0.);
0320 computeEfficiency1D(meBTLTrackPhiMtd, meBTLTrackPhiTot, meBtlPhiEff_);
0321
0322 meBtlPtEff_ = ibook.book1D("BtlPtEff",
0323 "Track Efficiency VS Pt;Pt [GeV];Efficiency",
0324 meBTLTrackPtTot->getNbinsX(),
0325 meBTLTrackPtTot->getTH1()->GetXaxis()->GetXmin(),
0326 meBTLTrackPtTot->getTH1()->GetXaxis()->GetXmax());
0327 meBtlPtEff_->getTH1()->SetMinimum(0.);
0328 computeEfficiency1D(meBTLTrackPtMtd, meBTLTrackPtTot, meBtlPtEff_);
0329
0330 meEtlEtaEff_ = ibook.book1D("EtlEtaEff",
0331 " Track Efficiency VS Eta;#eta;Efficiency",
0332 meETLTrackEtaTot->getNbinsX(),
0333 meETLTrackEtaTot->getTH1()->GetXaxis()->GetXmin(),
0334 meETLTrackEtaTot->getTH1()->GetXaxis()->GetXmax());
0335 meEtlEtaEff_->getTH1()->SetMinimum(0.);
0336 computeEfficiency1D(meETLTrackEtaMtd, meETLTrackEtaTot, meEtlEtaEff_);
0337
0338 meEtlPhiEff_ = ibook.book1D("EtlPhiEff",
0339 "Track Efficiency VS Phi;#phi [rad];Efficiency",
0340 meETLTrackPhiTot->getNbinsX(),
0341 meETLTrackPhiTot->getTH1()->GetXaxis()->GetXmin(),
0342 meETLTrackPhiTot->getTH1()->GetXaxis()->GetXmax());
0343 meEtlPhiEff_->getTH1()->SetMinimum(0.);
0344 computeEfficiency1D(meETLTrackPhiMtd, meETLTrackPhiTot, meEtlPhiEff_);
0345
0346 meEtlPtEff_ = ibook.book1D("EtlPtEff",
0347 "Track Efficiency VS Pt;Pt [GeV];Efficiency",
0348 meETLTrackPtTot->getNbinsX(),
0349 meETLTrackPtTot->getTH1()->GetXaxis()->GetXmin(),
0350 meETLTrackPtTot->getTH1()->GetXaxis()->GetXmax());
0351 meEtlPtEff_->getTH1()->SetMinimum(0.);
0352 computeEfficiency1D(meETLTrackPtMtd, meETLTrackPtTot, meEtlPtEff_);
0353
0354 meEtlEtaEff2_ = ibook.book1D("EtlEtaEff2",
0355 " Track Efficiency VS Eta (2 hits);#eta;Efficiency",
0356 meETLTrackEtaTot->getNbinsX(),
0357 meETLTrackEtaTot->getTH1()->GetXaxis()->GetXmin(),
0358 meETLTrackEtaTot->getTH1()->GetXaxis()->GetXmax());
0359 meEtlEtaEff2_->getTH1()->SetMinimum(0.);
0360 computeEfficiency1D(meETLTrackEta2Mtd, meETLTrackEtaTot, meEtlEtaEff2_);
0361
0362 meEtlPhiEff2_ = ibook.book1D("EtlPhiEff2",
0363 "Track Efficiency VS Phi (2 hits);#phi [rad];Efficiency",
0364 meETLTrackPhiTot->getNbinsX(),
0365 meETLTrackPhiTot->getTH1()->GetXaxis()->GetXmin(),
0366 meETLTrackPhiTot->getTH1()->GetXaxis()->GetXmax());
0367 meEtlPhiEff2_->getTH1()->SetMinimum(0.);
0368 computeEfficiency1D(meETLTrackPhi2Mtd, meETLTrackPhiTot, meEtlPhiEff2_);
0369
0370 meEtlPtEff2_ = ibook.book1D("EtlPtEff2",
0371 "Track Efficiency VS Pt (2 hits);Pt [GeV];Efficiency",
0372 meETLTrackPtTot->getNbinsX(),
0373 meETLTrackPtTot->getTH1()->GetXaxis()->GetXmin(),
0374 meETLTrackPtTot->getTH1()->GetXaxis()->GetXmax());
0375 meEtlPtEff2_->getTH1()->SetMinimum(0.);
0376 computeEfficiency1D(meETLTrackPt2Mtd, meETLTrackPtTot, meEtlPtEff2_);
0377
0378
0379 meEtlEtaEffLowPt_[0] = ibook.book1D("EtlEtaEffLowPt0",
0380 " Track Efficiency VS Eta, 0.2 < pt < 0.45;#eta;Efficiency",
0381 meETLTrackEtaTotLowPt0->getNbinsX(),
0382 meETLTrackEtaTotLowPt0->getTH1()->GetXaxis()->GetXmin(),
0383 meETLTrackEtaTotLowPt0->getTH1()->GetXaxis()->GetXmax());
0384 meEtlEtaEffLowPt_[0]->getTH1()->SetMinimum(0.);
0385 computeEfficiency1D(meETLTrackEtaMtdLowPt0, meETLTrackEtaTotLowPt0, meEtlEtaEffLowPt_[0]);
0386
0387 meEtlEtaEffLowPt_[1] = ibook.book1D("EtlEtaEffLowPt1",
0388 " Track Efficiency VS Eta, 0.45 < pt < 0.7;#eta;Efficiency",
0389 meETLTrackEtaTotLowPt1->getNbinsX(),
0390 meETLTrackEtaTotLowPt1->getTH1()->GetXaxis()->GetXmin(),
0391 meETLTrackEtaTotLowPt1->getTH1()->GetXaxis()->GetXmax());
0392 meEtlEtaEffLowPt_[1]->getTH1()->SetMinimum(0.);
0393 computeEfficiency1D(meETLTrackEtaMtdLowPt1, meETLTrackEtaTotLowPt1, meEtlEtaEffLowPt_[1]);
0394
0395 meEtlEtaEff2LowPt_[0] = ibook.book1D("EtlEtaEff2LowPt0",
0396 " Track Efficiency VS Eta (2 hits), 0.2 < pt < 0.45;#eta;Efficiency",
0397 meETLTrackEtaTotLowPt0->getNbinsX(),
0398 meETLTrackEtaTotLowPt0->getTH1()->GetXaxis()->GetXmin(),
0399 meETLTrackEtaTotLowPt0->getTH1()->GetXaxis()->GetXmax());
0400 meEtlEtaEff2LowPt_[0]->getTH1()->SetMinimum(0.);
0401 computeEfficiency1D(meETLTrackEta2MtdLowPt0, meETLTrackEtaTotLowPt0, meEtlEtaEff2LowPt_[0]);
0402
0403 meEtlEtaEff2LowPt_[1] = ibook.book1D("EtlEtaEff2LowPt1",
0404 " Track Efficiency VS Eta (2 hits), 0.45 < pt < 0.7;#eta;Efficiency",
0405 meETLTrackEtaTotLowPt1->getNbinsX(),
0406 meETLTrackEtaTotLowPt1->getTH1()->GetXaxis()->GetXmin(),
0407 meETLTrackEtaTotLowPt1->getTH1()->GetXaxis()->GetXmax());
0408 meEtlEtaEff2LowPt_[1]->getTH1()->SetMinimum(0.);
0409 computeEfficiency1D(meETLTrackEta2MtdLowPt1, meETLTrackEtaTotLowPt1, meEtlEtaEff2LowPt_[1]);
0410
0411 meExtraPtEff_ =
0412 ibook.book1D("ExtraPtEff",
0413 "MTD matching efficiency wrt extrapolated track associated to LV VS Pt;Pt [GeV];Efficiency",
0414 meTrackMatchedTPPtTotLV->getNbinsX(),
0415 meTrackMatchedTPPtTotLV->getTH1()->GetXaxis()->GetXmin(),
0416 meTrackMatchedTPPtTotLV->getTH1()->GetXaxis()->GetXmax());
0417 meExtraPtEff_->getTH1()->SetMinimum(0.);
0418 computeEfficiency1D(meExtraPtMtd, meTrackMatchedTPPtTotLV, meExtraPtEff_);
0419
0420 meExtraPtEtl2Eff_ =
0421 ibook.book1D("ExtraPtEtl2Eff",
0422 "MTD matching efficiency (2 ETL) wrt extrapolated track associated to LV VS Pt;Pt [GeV];Efficiency",
0423 meTrackMatchedTPPtTotLV->getNbinsX(),
0424 meTrackMatchedTPPtTotLV->getTH1()->GetXaxis()->GetXmin(),
0425 meTrackMatchedTPPtTotLV->getTH1()->GetXaxis()->GetXmax());
0426 meExtraPtEtl2Eff_->getTH1()->SetMinimum(0.);
0427 computeEfficiency1D(meExtraPtEtl2Mtd, meTrackMatchedTPPtTotLV, meExtraPtEtl2Eff_);
0428
0429 meExtraEtaEff_ = ibook.book1D("ExtraEtaEff",
0430 "MTD matching efficiency wrt extrapolated track associated to LV VS Eta;Eta;Efficiency",
0431 meTrackMatchedTPEtaTotLV->getNbinsX(),
0432 meTrackMatchedTPEtaTotLV->getTH1()->GetXaxis()->GetXmin(),
0433 meTrackMatchedTPEtaTotLV->getTH1()->GetXaxis()->GetXmax());
0434 meExtraEtaEff_->getTH1()->SetMinimum(0.);
0435 computeEfficiency1D(meExtraEtaMtd, meTrackMatchedTPEtaTotLV, meExtraEtaEff_);
0436
0437 meExtraEtaEtl2Eff_ =
0438 ibook.book1D("ExtraEtaEtl2Eff",
0439 "MTD matching efficiency (2 ETL) wrt extrapolated track associated to LV VS Eta;Eta;Efficiency",
0440 meTrackMatchedTPEtaTotLV->getNbinsX(),
0441 meTrackMatchedTPEtaTotLV->getTH1()->GetXaxis()->GetXmin(),
0442 meTrackMatchedTPEtaTotLV->getTH1()->GetXaxis()->GetXmax());
0443 meExtraEtaEtl2Eff_->getTH1()->SetMinimum(0.);
0444 computeEfficiency1D(meExtraEtaEtl2Mtd, meTrackMatchedTPEtaTotLV, meExtraEtaEtl2Eff_);
0445
0446
0447 meBTLTPPtSelEff_ = ibook.book1D("BTLTPPtSelEff",
0448 "Track selected efficiency TP VS Pt;Pt [GeV];Efficiency",
0449 meBTLTrackPtTot->getNbinsX(),
0450 meBTLTrackPtTot->getTH1()->GetXaxis()->GetXmin(),
0451 meBTLTrackPtTot->getTH1()->GetXaxis()->GetXmax());
0452 meBTLTPPtSelEff_->getTH1()->SetMinimum(0.);
0453 computeEfficiency1D(meBTLTrackMatchedTPPtTot, meBTLTrackPtTot, meBTLTPPtSelEff_);
0454
0455 meBTLTPEtaSelEff_ = ibook.book1D("BTLTPEtaSelEff",
0456 "Track selected efficiency TP VS Eta;Eta;Efficiency",
0457 meBTLTrackEtaTot->getNbinsX(),
0458 meBTLTrackEtaTot->getTH1()->GetXaxis()->GetXmin(),
0459 meBTLTrackEtaTot->getTH1()->GetXaxis()->GetXmax());
0460 meBTLTPEtaSelEff_->getTH1()->SetMinimum(0.);
0461 computeEfficiency1D(meBTLTrackMatchedTPEtaTot, meBTLTrackEtaTot, meBTLTPEtaSelEff_);
0462
0463 meBTLTPPtMatchEff_ = ibook.book1D("BTLTPPtMatchEff",
0464 "Track matched to TP efficiency VS Pt;Pt [GeV];Efficiency",
0465 meBTLTrackMatchedTPPtTot->getNbinsX(),
0466 meBTLTrackMatchedTPPtTot->getTH1()->GetXaxis()->GetXmin(),
0467 meBTLTrackMatchedTPPtTot->getTH1()->GetXaxis()->GetXmax());
0468 meBTLTPPtMatchEff_->getTH1()->SetMinimum(0.);
0469 computeEfficiency1D(meBTLTrackMatchedTPPtMtd, meBTLTrackMatchedTPPtTot, meBTLTPPtMatchEff_);
0470
0471 meBTLTPEtaMatchEff_ = ibook.book1D("BTLTPEtaMatchEff",
0472 "Track matched to TP efficiency VS Eta;Eta;Efficiency",
0473 meBTLTrackMatchedTPEtaTot->getNbinsX(),
0474 meBTLTrackMatchedTPEtaTot->getTH1()->GetXaxis()->GetXmin(),
0475 meBTLTrackMatchedTPEtaTot->getTH1()->GetXaxis()->GetXmax());
0476 meBTLTPEtaMatchEff_->getTH1()->SetMinimum(0.);
0477 computeEfficiency1D(meBTLTrackMatchedTPEtaMtd, meBTLTrackMatchedTPEtaTot, meBTLTPEtaMatchEff_);
0478
0479
0480 meBTLTPPtCorrectMatchEff_ =
0481 ibook.book1D("BTLTPPtCorrectMatchEff",
0482 "Track matched to TP efficiency for correct reco match VS Pt;Pt [GeV];Efficiency",
0483 meBTLTrackMatchedTPPtMtd->getNbinsX(),
0484 meBTLTrackMatchedTPPtMtd->getTH1()->GetXaxis()->GetXmin(),
0485 meBTLTrackMatchedTPPtMtd->getTH1()->GetXaxis()->GetXmax());
0486 meBTLTPPtCorrectMatchEff_->getTH1()->SetMinimum(0.);
0487 MonitorElement* meBTLTrackMatchedTPPtMtdCorrect =
0488 ibook.book1D("BTLTrackMatchedTPPtMtdCorrect",
0489 "Pt of tracks matched to TP with correct reco match; Pt [GeV];Efficiency",
0490 meBTLTrackMatchedTPPtMtd->getNbinsX(),
0491 meBTLTrackMatchedTPPtMtd->getTH1()->GetXaxis()->GetXmin(),
0492 meBTLTrackMatchedTPPtMtd->getTH1()->GetXaxis()->GetXmax());
0493 meBTLTrackMatchedTPPtMtdCorrect->getTH1F()->Add(meBTLTrackMatchedTPmtdDirectCorrectAssocPt->getTH1F(),
0494 meBTLTrackMatchedTPmtdOtherCorrectAssocPt->getTH1F());
0495 computeEfficiency1D(meBTLTrackMatchedTPPtMtdCorrect, meBTLTrackMatchedTPPtMtd, meBTLTPPtCorrectMatchEff_);
0496
0497 meBTLTPEtaCorrectMatchEff_ =
0498 ibook.book1D("BTLTPEtaCorrectMatchEff",
0499 "Track matched to TP efficiency for correct reco match VS Eta;Eta;Efficiency",
0500 meBTLTrackMatchedTPEtaMtd->getNbinsX(),
0501 meBTLTrackMatchedTPEtaMtd->getTH1()->GetXaxis()->GetXmin(),
0502 meBTLTrackMatchedTPEtaMtd->getTH1()->GetXaxis()->GetXmax());
0503 meBTLTPEtaCorrectMatchEff_->getTH1()->SetMinimum(0.);
0504 MonitorElement* meBTLTrackMatchedTPEtaMtdCorrect =
0505 ibook.book1D("BTLTrackMatchedTPEtaMtdCorrect",
0506 "Eta of tracks matched to TP with correct reco match; Eta [GeV];Efficiency",
0507 meBTLTrackMatchedTPEtaMtd->getNbinsX(),
0508 meBTLTrackMatchedTPEtaMtd->getTH1()->GetXaxis()->GetXmin(),
0509 meBTLTrackMatchedTPEtaMtd->getTH1()->GetXaxis()->GetXmax());
0510 meBTLTrackMatchedTPEtaMtdCorrect->getTH1F()->Add(meBTLTrackMatchedTPmtdDirectCorrectAssocEta->getTH1F(),
0511 meBTLTrackMatchedTPmtdOtherCorrectAssocEta->getTH1F());
0512 computeEfficiency1D(meBTLTrackMatchedTPEtaMtdCorrect, meBTLTrackMatchedTPEtaMtd, meBTLTPEtaCorrectMatchEff_);
0513
0514
0515 meETLTPPtSelEff_ = ibook.book1D("ETLTPPtSelEff",
0516 "Track selected efficiency TP VS Pt;Pt [GeV];Efficiency",
0517 meETLTrackPtTot->getNbinsX(),
0518 meETLTrackPtTot->getTH1()->GetXaxis()->GetXmin(),
0519 meETLTrackPtTot->getTH1()->GetXaxis()->GetXmax());
0520 meETLTPPtSelEff_->getTH1()->SetMinimum(0.);
0521 computeEfficiency1D(meETLTrackMatchedTPPtTot, meETLTrackPtTot, meETLTPPtSelEff_);
0522
0523 meETLTPEtaSelEff_ = ibook.book1D("ETLTPEtaSelEff",
0524 "Track selected efficiency TP VS Eta;Eta;Efficiency",
0525 meETLTrackEtaTot->getNbinsX(),
0526 meETLTrackEtaTot->getTH1()->GetXaxis()->GetXmin(),
0527 meETLTrackEtaTot->getTH1()->GetXaxis()->GetXmax());
0528 meETLTPEtaSelEff_->getTH1()->SetMinimum(0.);
0529 computeEfficiency1D(meETLTrackMatchedTPEtaTot, meETLTrackEtaTot, meETLTPEtaSelEff_);
0530
0531 meETLTPPtMatchEff_ = ibook.book1D("ETLTPPtMatchEff",
0532 "Track matched to TP efficiency VS Pt;Pt [GeV];Efficiency",
0533 meETLTrackMatchedTPPtTot->getNbinsX(),
0534 meETLTrackMatchedTPPtTot->getTH1()->GetXaxis()->GetXmin(),
0535 meETLTrackMatchedTPPtTot->getTH1()->GetXaxis()->GetXmax());
0536 meETLTPPtMatchEff_->getTH1()->SetMinimum(0.);
0537 computeEfficiency1D(meETLTrackMatchedTPPtMtd, meETLTrackMatchedTPPtTot, meETLTPPtMatchEff_);
0538
0539 meETLTPEtaMatchEff_ = ibook.book1D("ETLTPEtaMatchEff",
0540 "Track matched to TP efficiency VS Eta;Eta;Efficiency",
0541 meETLTrackMatchedTPEtaTot->getNbinsX(),
0542 meETLTrackMatchedTPEtaTot->getTH1()->GetXaxis()->GetXmin(),
0543 meETLTrackMatchedTPEtaTot->getTH1()->GetXaxis()->GetXmax());
0544 meETLTPEtaMatchEff_->getTH1()->SetMinimum(0.);
0545 computeEfficiency1D(meETLTrackMatchedTPEtaMtd, meETLTrackMatchedTPEtaTot, meETLTPEtaMatchEff_);
0546
0547 meETLTPPtMatchEff2_ = ibook.book1D("ETLTPPtMatchEff2",
0548 "Track matched to TP efficiency VS Pt (2 ETL hits);Pt [GeV];Efficiency",
0549 meETLTrackMatchedTPPtTot->getNbinsX(),
0550 meETLTrackMatchedTPPtTot->getTH1()->GetXaxis()->GetXmin(),
0551 meETLTrackMatchedTPPtTot->getTH1()->GetXaxis()->GetXmax());
0552 meETLTPPtMatchEff2_->getTH1()->SetMinimum(0.);
0553 computeEfficiency1D(meETLTrackMatchedTPPt2Mtd, meETLTrackMatchedTPPtTot, meETLTPPtMatchEff2_);
0554
0555 meETLTPEtaMatchEff2_ = ibook.book1D("ETLTPEtaMatchEff2",
0556 "Track matched to TP efficiency VS Eta (2 hits);Eta;Efficiency",
0557 meETLTrackMatchedTPEtaTot->getNbinsX(),
0558 meETLTrackMatchedTPEtaTot->getTH1()->GetXaxis()->GetXmin(),
0559 meETLTrackMatchedTPEtaTot->getTH1()->GetXaxis()->GetXmax());
0560 meETLTPEtaMatchEff2_->getTH1()->SetMinimum(0.);
0561 computeEfficiency1D(meETLTrackMatchedTPEta2Mtd, meETLTrackMatchedTPEtaTot, meETLTPEtaMatchEff2_);
0562
0563
0564 meETLTPPtCorrectMatchEff_ =
0565 ibook.book1D("ETLTPPtCorrectMatchEff",
0566 "Track matched to TP efficiency with correct reco match VS Pt;Pt [GeV];Efficiency",
0567 meETLTrackMatchedTPPtMtd->getNbinsX(),
0568 meETLTrackMatchedTPPtMtd->getTH1()->GetXaxis()->GetXmin(),
0569 meETLTrackMatchedTPPtMtd->getTH1()->GetXaxis()->GetXmax());
0570 meETLTPPtCorrectMatchEff_->getTH1()->SetMinimum(0.);
0571 computeEfficiency1D(meETLTrackMatchedTPPtMtdCorrect, meETLTrackMatchedTPPtMtd, meETLTPPtCorrectMatchEff_);
0572
0573 meETLTPEtaCorrectMatchEff_ =
0574 ibook.book1D("ETLTPEtaCorrectMatchEff",
0575 "Track matched to TP efficiency with correct reco match VS Eta;Eta;Efficiency",
0576 meETLTrackMatchedTPEtaMtd->getNbinsX(),
0577 meETLTrackMatchedTPEtaMtd->getTH1()->GetXaxis()->GetXmin(),
0578 meETLTrackMatchedTPEtaMtd->getTH1()->GetXaxis()->GetXmax());
0579 meETLTPEtaCorrectMatchEff_->getTH1()->SetMinimum(0.);
0580 computeEfficiency1D(meETLTrackMatchedTPEtaMtdCorrect, meETLTrackMatchedTPEtaMtd, meETLTPEtaCorrectMatchEff_);
0581
0582 meETLTPPtCorrectMatchEff2_ =
0583 ibook.book1D("ETLTPPtCorrectMatchEff2",
0584 "Track matched to TP efficiency with correct reco match (2 hits) VS Pt;Pt [GeV];Efficiency",
0585 meETLTrackMatchedTPPt2Mtd->getNbinsX(),
0586 meETLTrackMatchedTPPt2Mtd->getTH1()->GetXaxis()->GetXmin(),
0587 meETLTrackMatchedTPPt2Mtd->getTH1()->GetXaxis()->GetXmax());
0588 meETLTPPtCorrectMatchEff2_->getTH1()->SetMinimum(0.);
0589 computeEfficiency1D(meETLTrackMatchedTPmtd2CorrectAssocPt, meETLTrackMatchedTPPt2Mtd, meETLTPPtCorrectMatchEff2_);
0590
0591 meETLTPEtaCorrectMatchEff2_ =
0592 ibook.book1D("ETLTPEtaCorrectMatchEff2",
0593 "Track matched to TP efficiency with correct reco match (2 hits) VS Eta;Eta;Efficiency",
0594 meETLTrackMatchedTPEta2Mtd->getNbinsX(),
0595 meETLTrackMatchedTPEta2Mtd->getTH1()->GetXaxis()->GetXmin(),
0596 meETLTrackMatchedTPEta2Mtd->getTH1()->GetXaxis()->GetXmax());
0597 meETLTPEtaCorrectMatchEff2_->getTH1()->SetMinimum(0.);
0598 computeEfficiency1D(meETLTrackMatchedTPmtd2CorrectAssocEta, meETLTrackMatchedTPEta2Mtd, meETLTPEtaCorrectMatchEff2_);
0599
0600
0601
0602 meBTLTPmtdDirectEtaSelEff_ = ibook.book1D("BTLTPmtdDirectEtaSelEff",
0603 "Track selected efficiency TP-mtd hit (direct) VS Eta",
0604 meBTLTrackEtaTot->getNbinsX(),
0605 meBTLTrackEtaTot->getTH1()->GetXaxis()->GetXmin(),
0606 meBTLTrackEtaTot->getTH1()->GetXaxis()->GetXmax());
0607 meBTLTPmtdDirectEtaSelEff_->getTH1()->SetMinimum(0.);
0608 computeEfficiency1D(meBTLTrackMatchedTPmtdDirectEta, meBTLTrackEtaTot, meBTLTPmtdDirectEtaSelEff_);
0609
0610 meBTLTPmtdDirectPtSelEff_ = ibook.book1D("BTLTPmtdDirectPtSelEff",
0611 "Track selected efficiency TP-mtd hit (direct) VS Pt",
0612 meBTLTrackPtTot->getNbinsX(),
0613 meBTLTrackPtTot->getTH1()->GetXaxis()->GetXmin(),
0614 meBTLTrackPtTot->getTH1()->GetXaxis()->GetXmax());
0615 meBTLTPmtdDirectPtSelEff_->getTH1()->SetMinimum(0.);
0616 computeEfficiency1D(meBTLTrackMatchedTPmtdDirectPt, meBTLTrackPtTot, meBTLTPmtdDirectPtSelEff_);
0617
0618 meBTLTPmtdOtherEtaSelEff_ = ibook.book1D("BTLTPmtdOtherEtaSelEff",
0619 "Track selected efficiency TP-mtd hit (other) VS Eta",
0620 meBTLTrackEtaTot->getNbinsX(),
0621 meBTLTrackEtaTot->getTH1()->GetXaxis()->GetXmin(),
0622 meBTLTrackEtaTot->getTH1()->GetXaxis()->GetXmax());
0623 meBTLTPmtdOtherEtaSelEff_->getTH1()->SetMinimum(0.);
0624 computeEfficiency1D(meBTLTrackMatchedTPmtdOtherEta, meBTLTrackEtaTot, meBTLTPmtdOtherEtaSelEff_);
0625
0626 meBTLTPmtdOtherPtSelEff_ = ibook.book1D("BTLTPmtdOtherPtSelEff",
0627 "Track selected efficiency TP-mtd hit (other) VS Pt",
0628 meBTLTrackPtTot->getNbinsX(),
0629 meBTLTrackPtTot->getTH1()->GetXaxis()->GetXmin(),
0630 meBTLTrackPtTot->getTH1()->GetXaxis()->GetXmax());
0631 meBTLTPmtdOtherPtSelEff_->getTH1()->SetMinimum(0.);
0632 computeEfficiency1D(meBTLTrackMatchedTPmtdOtherPt, meBTLTrackPtTot, meBTLTPmtdOtherPtSelEff_);
0633
0634 meBTLTPnomtdEtaSelEff_ = ibook.book1D("BTLTPnomtdEtaSelEff",
0635 "Track selected efficiency TP-no mtd hit VS Eta",
0636 meBTLTrackEtaTot->getNbinsX(),
0637 meBTLTrackEtaTot->getTH1()->GetXaxis()->GetXmin(),
0638 meBTLTrackEtaTot->getTH1()->GetXaxis()->GetXmax());
0639 meBTLTPnomtdEtaSelEff_->getTH1()->SetMinimum(0.);
0640 computeEfficiency1D(meBTLTrackMatchedTPnomtdEta, meBTLTrackEtaTot, meBTLTPnomtdEtaSelEff_);
0641
0642 meBTLTPnomtdPtSelEff_ = ibook.book1D("BTLTPnomtdPtSelEff",
0643 "Track selected efficiency TP-no mtd hit VS Pt",
0644 meBTLTrackPtTot->getNbinsX(),
0645 meBTLTrackPtTot->getTH1()->GetXaxis()->GetXmin(),
0646 meBTLTrackPtTot->getTH1()->GetXaxis()->GetXmax());
0647 meBTLTPnomtdPtSelEff_->getTH1()->SetMinimum(0.);
0648 computeEfficiency1D(meBTLTrackMatchedTPnomtdPt, meBTLTrackPtTot, meBTLTPnomtdPtSelEff_);
0649
0650 meBTLTPmtdDirectCorrectAssocEtaMatchEff_ =
0651 ibook.book1D("BTLTPmtdDirectCorrectAssocEtaMatchEff",
0652 "Track efficiency TP-mtd hit (direct), correct reco match VS Eta",
0653 meBTLTrackMatchedTPmtdDirectEta->getNbinsX(),
0654 meBTLTrackMatchedTPmtdDirectEta->getTH1()->GetXaxis()->GetXmin(),
0655 meBTLTrackMatchedTPmtdDirectEta->getTH1()->GetXaxis()->GetXmax());
0656 meBTLTPmtdDirectCorrectAssocEtaMatchEff_->getTH1()->SetMinimum(0.);
0657 computeEfficiency1D(meBTLTrackMatchedTPmtdDirectCorrectAssocEta,
0658 meBTLTrackMatchedTPmtdDirectEta,
0659 meBTLTPmtdDirectCorrectAssocEtaMatchEff_);
0660
0661 meBTLTPmtdDirectCorrectAssocPtMatchEff_ =
0662 ibook.book1D("BTLTPmtdDirectCorrectAssocPtMatchEff",
0663 "Track efficiency TP-mtd hit (direct), correct reco match VS Pt",
0664 meBTLTrackMatchedTPmtdDirectPt->getNbinsX(),
0665 meBTLTrackMatchedTPmtdDirectPt->getTH1()->GetXaxis()->GetXmin(),
0666 meBTLTrackMatchedTPmtdDirectPt->getTH1()->GetXaxis()->GetXmax());
0667 meBTLTPmtdDirectCorrectAssocPtMatchEff_->getTH1()->SetMinimum(0.);
0668 computeEfficiency1D(meBTLTrackMatchedTPmtdDirectCorrectAssocPt,
0669 meBTLTrackMatchedTPmtdDirectPt,
0670 meBTLTPmtdDirectCorrectAssocPtMatchEff_);
0671
0672 meBTLTPmtdDirectWrongAssocEtaMatchEff_ =
0673 ibook.book1D("BTLTPmtdDirectWrongAssocEtaMatchEff",
0674 "Track efficiency TP-mtd hit (direct), incorrect reco match VS Eta",
0675 meBTLTrackMatchedTPmtdDirectEta->getNbinsX(),
0676 meBTLTrackMatchedTPmtdDirectEta->getTH1()->GetXaxis()->GetXmin(),
0677 meBTLTrackMatchedTPmtdDirectEta->getTH1()->GetXaxis()->GetXmax());
0678 meBTLTPmtdDirectWrongAssocEtaMatchEff_->getTH1()->SetMinimum(0.);
0679 computeEfficiency1D(meBTLTrackMatchedTPmtdDirectWrongAssocEta,
0680 meBTLTrackMatchedTPmtdDirectEta,
0681 meBTLTPmtdDirectWrongAssocEtaMatchEff_);
0682
0683 meBTLTPmtdDirectWrongAssocPtMatchEff_ =
0684 ibook.book1D("BTLTPmtdDirectWrongAssocPtMatchEff",
0685 "Track efficiency TP-mtd hit (direct), incorrect reco match VS Pt",
0686 meBTLTrackMatchedTPmtdDirectPt->getNbinsX(),
0687 meBTLTrackMatchedTPmtdDirectPt->getTH1()->GetXaxis()->GetXmin(),
0688 meBTLTrackMatchedTPmtdDirectPt->getTH1()->GetXaxis()->GetXmax());
0689 meBTLTPmtdDirectWrongAssocPtMatchEff_->getTH1()->SetMinimum(0.);
0690 computeEfficiency1D(
0691 meBTLTrackMatchedTPmtdDirectWrongAssocPt, meBTLTrackMatchedTPmtdDirectPt, meBTLTPmtdDirectWrongAssocPtMatchEff_);
0692
0693 meBTLTPmtdDirectNoAssocEtaMatchEff_ = ibook.book1D("BTLTPmtdDirectNoAssocEtaMatchEff",
0694 "Track efficiency TP-mtd hit (direct), no reco match VS Eta",
0695 meBTLTrackMatchedTPmtdDirectEta->getNbinsX(),
0696 meBTLTrackMatchedTPmtdDirectEta->getTH1()->GetXaxis()->GetXmin(),
0697 meBTLTrackMatchedTPmtdDirectEta->getTH1()->GetXaxis()->GetXmax());
0698 meBTLTPmtdDirectNoAssocEtaMatchEff_->getTH1()->SetMinimum(0.);
0699 computeEfficiency1D(
0700 meBTLTrackMatchedTPmtdDirectNoAssocEta, meBTLTrackMatchedTPmtdDirectEta, meBTLTPmtdDirectNoAssocEtaMatchEff_);
0701
0702 meBTLTPmtdDirectNoAssocPtMatchEff_ = ibook.book1D("BTLTPmtdDirectNoAssocPtMatchEff",
0703 "Track efficiency TP-mtd hit (direct), no reco match VS Pt",
0704 meBTLTrackMatchedTPmtdDirectPt->getNbinsX(),
0705 meBTLTrackMatchedTPmtdDirectPt->getTH1()->GetXaxis()->GetXmin(),
0706 meBTLTrackMatchedTPmtdDirectPt->getTH1()->GetXaxis()->GetXmax());
0707 meBTLTPmtdDirectNoAssocPtMatchEff_->getTH1()->SetMinimum(0.);
0708 computeEfficiency1D(
0709 meBTLTrackMatchedTPmtdDirectNoAssocPt, meBTLTrackMatchedTPmtdDirectPt, meBTLTPmtdDirectNoAssocPtMatchEff_);
0710
0711 meBTLTPmtdOtherCorrectAssocEtaMatchEff_ =
0712 ibook.book1D("BTLTPmtdOtherCorrectAssocEtaMatchEff",
0713 "Track efficiency TP-mtd hit (other), correct reco match VS Eta",
0714 meBTLTrackMatchedTPmtdOtherEta->getNbinsX(),
0715 meBTLTrackMatchedTPmtdOtherEta->getTH1()->GetXaxis()->GetXmin(),
0716 meBTLTrackMatchedTPmtdOtherEta->getTH1()->GetXaxis()->GetXmax());
0717 meBTLTPmtdOtherCorrectAssocEtaMatchEff_->getTH1()->SetMinimum(0.);
0718 computeEfficiency1D(meBTLTrackMatchedTPmtdOtherCorrectAssocEta,
0719 meBTLTrackMatchedTPmtdOtherEta,
0720 meBTLTPmtdOtherCorrectAssocEtaMatchEff_);
0721
0722 meBTLTPmtdOtherCorrectAssocPtMatchEff_ = ibook.book1D("BTLTPmtdOtherCorrectAssocPtMatchEff",
0723 "Track efficiency TP-mtd hit (other), correct reco match VS Pt",
0724 meBTLTrackMatchedTPmtdOtherPt->getNbinsX(),
0725 meBTLTrackMatchedTPmtdOtherPt->getTH1()->GetXaxis()->GetXmin(),
0726 meBTLTrackMatchedTPmtdOtherPt->getTH1()->GetXaxis()->GetXmax());
0727 meBTLTPmtdOtherCorrectAssocPtMatchEff_->getTH1()->SetMinimum(0.);
0728 computeEfficiency1D(
0729 meBTLTrackMatchedTPmtdOtherCorrectAssocPt, meBTLTrackMatchedTPmtdOtherPt, meBTLTPmtdOtherCorrectAssocPtMatchEff_);
0730
0731 meBTLTPmtdOtherWrongAssocEtaMatchEff_ =
0732 ibook.book1D("BTLTPmtdOtherWrongAssocEtaMatchEff",
0733 "Track efficiency TP-mtd hit (other), incorrect reco match VS Eta",
0734 meBTLTrackMatchedTPmtdOtherEta->getNbinsX(),
0735 meBTLTrackMatchedTPmtdOtherEta->getTH1()->GetXaxis()->GetXmin(),
0736 meBTLTrackMatchedTPmtdOtherEta->getTH1()->GetXaxis()->GetXmax());
0737 meBTLTPmtdOtherWrongAssocEtaMatchEff_->getTH1()->SetMinimum(0.);
0738 computeEfficiency1D(
0739 meBTLTrackMatchedTPmtdOtherWrongAssocEta, meBTLTrackMatchedTPmtdOtherEta, meBTLTPmtdOtherWrongAssocEtaMatchEff_);
0740
0741 meBTLTPmtdOtherWrongAssocPtMatchEff_ = ibook.book1D("BTLTPmtdOtherWrongAssocPtMatchEff",
0742 "Track efficiency TP-mtd hit (other), incorrect reco match VS Pt",
0743 meBTLTrackMatchedTPmtdOtherPt->getNbinsX(),
0744 meBTLTrackMatchedTPmtdOtherPt->getTH1()->GetXaxis()->GetXmin(),
0745 meBTLTrackMatchedTPmtdOtherPt->getTH1()->GetXaxis()->GetXmax());
0746 meBTLTPmtdOtherWrongAssocPtMatchEff_->getTH1()->SetMinimum(0.);
0747 computeEfficiency1D(
0748 meBTLTrackMatchedTPmtdOtherWrongAssocPt, meBTLTrackMatchedTPmtdOtherPt, meBTLTPmtdOtherWrongAssocPtMatchEff_);
0749
0750 meBTLTPmtdOtherNoAssocEtaMatchEff_ = ibook.book1D("BTLTPmtdOtherNoAssocEtaMatchEff",
0751 "Track efficiency TP-mtd hit (other), no reco match VS Eta",
0752 meBTLTrackMatchedTPmtdOtherEta->getNbinsX(),
0753 meBTLTrackMatchedTPmtdOtherEta->getTH1()->GetXaxis()->GetXmin(),
0754 meBTLTrackMatchedTPmtdOtherEta->getTH1()->GetXaxis()->GetXmax());
0755 meBTLTPmtdOtherNoAssocEtaMatchEff_->getTH1()->SetMinimum(0.);
0756 computeEfficiency1D(
0757 meBTLTrackMatchedTPmtdOtherNoAssocEta, meBTLTrackMatchedTPmtdOtherEta, meBTLTPmtdOtherNoAssocEtaMatchEff_);
0758
0759 meBTLTPmtdOtherNoAssocPtMatchEff_ = ibook.book1D("BTLTPmtdOtherNoAssocPtMatchEff",
0760 "Track efficiency TP-mtd hit (other), no reco match VS Pt",
0761 meBTLTrackMatchedTPmtdOtherPt->getNbinsX(),
0762 meBTLTrackMatchedTPmtdOtherPt->getTH1()->GetXaxis()->GetXmin(),
0763 meBTLTrackMatchedTPmtdOtherPt->getTH1()->GetXaxis()->GetXmax());
0764 meBTLTPmtdOtherNoAssocPtMatchEff_->getTH1()->SetMinimum(0.);
0765 computeEfficiency1D(
0766 meBTLTrackMatchedTPmtdOtherNoAssocPt, meBTLTrackMatchedTPmtdOtherPt, meBTLTPmtdOtherNoAssocPtMatchEff_);
0767
0768 meBTLTPnomtdEtaMatchEff_ = ibook.book1D("BTLTPnomtdEtaMatchEff",
0769 "Track efficiency TP- no mtd hit, with reco match VS Eta",
0770 meBTLTrackMatchedTPnomtdEta->getNbinsX(),
0771 meBTLTrackMatchedTPnomtdEta->getTH1()->GetXaxis()->GetXmin(),
0772 meBTLTrackMatchedTPnomtdEta->getTH1()->GetXaxis()->GetXmax());
0773 meBTLTPnomtdEtaMatchEff_->getTH1()->SetMinimum(0.);
0774 computeEfficiency1D(meBTLTrackMatchedTPnomtdAssocEta, meBTLTrackMatchedTPnomtdEta, meBTLTPnomtdEtaMatchEff_);
0775
0776 meBTLTPnomtdPtMatchEff_ = ibook.book1D("BTLTPnomtdPtMatchEff",
0777 "Track efficiency TP- no mtd hit, with reco match VS Pt",
0778 meBTLTrackMatchedTPnomtdPt->getNbinsX(),
0779 meBTLTrackMatchedTPnomtdPt->getTH1()->GetXaxis()->GetXmin(),
0780 meBTLTrackMatchedTPnomtdPt->getTH1()->GetXaxis()->GetXmax());
0781 meBTLTPnomtdPtMatchEff_->getTH1()->SetMinimum(0.);
0782 computeEfficiency1D(meBTLTrackMatchedTPnomtdAssocPt, meBTLTrackMatchedTPnomtdPt, meBTLTPnomtdPtMatchEff_);
0783
0784
0785 meETLTPmtd1EtaSelEff_ = ibook.book1D("ETLTPmtd1EtaSelEff",
0786 "Track selected efficiency TP-mtd hit (>=1 sim hit) VS Eta",
0787 meETLTrackEtaTot->getNbinsX(),
0788 meETLTrackEtaTot->getTH1()->GetXaxis()->GetXmin(),
0789 meETLTrackEtaTot->getTH1()->GetXaxis()->GetXmax());
0790 meETLTPmtd1EtaSelEff_->getTH1()->SetMinimum(0.);
0791 computeEfficiency1D(meETLTrackMatchedTPmtd1Eta, meETLTrackEtaTot, meETLTPmtd1EtaSelEff_);
0792
0793 meETLTPmtd1PtSelEff_ = ibook.book1D("ETLTPmtd1PtSelEff",
0794 "Track selected efficiency TP-mtd hit (>=1 sim hit) VS Pt",
0795 meETLTrackPtTot->getNbinsX(),
0796 meETLTrackPtTot->getTH1()->GetXaxis()->GetXmin(),
0797 meETLTrackPtTot->getTH1()->GetXaxis()->GetXmax());
0798 meETLTPmtd1PtSelEff_->getTH1()->SetMinimum(0.);
0799 computeEfficiency1D(meETLTrackMatchedTPmtd1Pt, meETLTrackPtTot, meETLTPmtd1PtSelEff_);
0800
0801 meETLTPmtd2EtaSelEff_ = ibook.book1D("ETLTPmtd2EtaSelEff",
0802 "Track selected efficiency TP-mtd hit (2 sim hits) VS Eta",
0803 meETLTrackEtaTot->getNbinsX(),
0804 meETLTrackEtaTot->getTH1()->GetXaxis()->GetXmin(),
0805 meETLTrackEtaTot->getTH1()->GetXaxis()->GetXmax());
0806 meETLTPmtd2EtaSelEff_->getTH1()->SetMinimum(0.);
0807 computeEfficiency1D(meETLTrackMatchedTPmtd2Eta, meETLTrackEtaTot, meETLTPmtd2EtaSelEff_);
0808
0809 meETLTPmtd2PtSelEff_ = ibook.book1D("ETLTPmtd2PtSelEff",
0810 "Track selected efficiency TP-mtd hit (2 sim hits) VS Pt",
0811 meETLTrackPtTot->getNbinsX(),
0812 meETLTrackPtTot->getTH1()->GetXaxis()->GetXmin(),
0813 meETLTrackPtTot->getTH1()->GetXaxis()->GetXmax());
0814 meETLTPmtd2PtSelEff_->getTH1()->SetMinimum(0.);
0815 computeEfficiency1D(meETLTrackMatchedTPmtd2Pt, meETLTrackPtTot, meETLTPmtd2PtSelEff_);
0816
0817 meETLTPnomtdEtaSelEff_ = ibook.book1D("ETLTPnomtdEtaSelEff",
0818 "Track selected efficiency TP-no mtd hit VS Eta",
0819 meETLTrackEtaTot->getNbinsX(),
0820 meETLTrackEtaTot->getTH1()->GetXaxis()->GetXmin(),
0821 meETLTrackEtaTot->getTH1()->GetXaxis()->GetXmax());
0822 meETLTPnomtdEtaSelEff_->getTH1()->SetMinimum(0.);
0823 computeEfficiency1D(meETLTrackMatchedTPnomtdEta, meETLTrackEtaTot, meETLTPnomtdEtaSelEff_);
0824
0825 meETLTPnomtdPtSelEff_ = ibook.book1D("ETLTPnomtdPtSelEff",
0826 "Track selected efficiency TP-no mtd hit VS Pt",
0827 meETLTrackPtTot->getNbinsX(),
0828 meETLTrackPtTot->getTH1()->GetXaxis()->GetXmin(),
0829 meETLTrackPtTot->getTH1()->GetXaxis()->GetXmax());
0830 meETLTPnomtdPtSelEff_->getTH1()->SetMinimum(0.);
0831 computeEfficiency1D(meETLTrackMatchedTPnomtdPt, meETLTrackPtTot, meETLTPnomtdPtSelEff_);
0832
0833 meETLTPmtd1CorrectAssocEtaMatchEff_ =
0834 ibook.book1D("ETLTPmtd1CorrectAssocEtaMatchEff",
0835 "Track efficiency TP-mtd hit (>=1 sim hit), correct reco match VS Eta",
0836 meETLTrackMatchedTPmtd1Eta->getNbinsX(),
0837 meETLTrackMatchedTPmtd1Eta->getTH1()->GetXaxis()->GetXmin(),
0838 meETLTrackMatchedTPmtd1Eta->getTH1()->GetXaxis()->GetXmax());
0839 meETLTPmtd1CorrectAssocEtaMatchEff_->getTH1()->SetMinimum(0.);
0840 computeEfficiency1D(
0841 meETLTrackMatchedTPmtd1CorrectAssocEta, meETLTrackMatchedTPmtd1Eta, meETLTPmtd1CorrectAssocEtaMatchEff_);
0842
0843 meETLTPmtd1CorrectAssocPtMatchEff_ =
0844 ibook.book1D("ETLTPmtd1CorrectAssocPtMatchEff",
0845 "Track efficiency TP-mtd hit (>=1 sim hit), correct reco match VS Pt",
0846 meETLTrackMatchedTPmtd1Pt->getNbinsX(),
0847 meETLTrackMatchedTPmtd1Pt->getTH1()->GetXaxis()->GetXmin(),
0848 meETLTrackMatchedTPmtd1Pt->getTH1()->GetXaxis()->GetXmax());
0849 meETLTPmtd1CorrectAssocPtMatchEff_->getTH1()->SetMinimum(0.);
0850 computeEfficiency1D(
0851 meETLTrackMatchedTPmtd1CorrectAssocPt, meETLTrackMatchedTPmtd1Pt, meETLTPmtd1CorrectAssocPtMatchEff_);
0852
0853 meETLTPmtd1WrongAssocEtaMatchEff_ =
0854 ibook.book1D("ETLTPmtd1WrongAssocEtaMatchEff",
0855 "Track efficiency TP-mtd hit (>=1 sim hit), incorrect reco match VS Eta",
0856 meETLTrackMatchedTPmtd1Eta->getNbinsX(),
0857 meETLTrackMatchedTPmtd1Eta->getTH1()->GetXaxis()->GetXmin(),
0858 meETLTrackMatchedTPmtd1Eta->getTH1()->GetXaxis()->GetXmax());
0859 meETLTPmtd1WrongAssocEtaMatchEff_->getTH1()->SetMinimum(0.);
0860 computeEfficiency1D(
0861 meETLTrackMatchedTPmtd1WrongAssocEta, meETLTrackMatchedTPmtd1Eta, meETLTPmtd1WrongAssocEtaMatchEff_);
0862
0863 meETLTPmtd1WrongAssocPtMatchEff_ =
0864 ibook.book1D("ETLTPmtd1WrongAssocPtMatchEff",
0865 "Track efficiency TP-mtd hit (>=1 sim hit), incorrect reco match VS Pt",
0866 meETLTrackMatchedTPmtd1Pt->getNbinsX(),
0867 meETLTrackMatchedTPmtd1Pt->getTH1()->GetXaxis()->GetXmin(),
0868 meETLTrackMatchedTPmtd1Pt->getTH1()->GetXaxis()->GetXmax());
0869 meETLTPmtd1WrongAssocPtMatchEff_->getTH1()->SetMinimum(0.);
0870 computeEfficiency1D(meETLTrackMatchedTPmtd1WrongAssocPt, meETLTrackMatchedTPmtd1Pt, meETLTPmtd1WrongAssocPtMatchEff_);
0871
0872 meETLTPmtd1NoAssocEtaMatchEff_ = ibook.book1D("ETLTPmtd1NoAssocEtaMatchEff",
0873 "Track efficiency TP-mtd hit (>=1 sim hit), no reco match VS Eta",
0874 meETLTrackMatchedTPmtd1Eta->getNbinsX(),
0875 meETLTrackMatchedTPmtd1Eta->getTH1()->GetXaxis()->GetXmin(),
0876 meETLTrackMatchedTPmtd1Eta->getTH1()->GetXaxis()->GetXmax());
0877 meETLTPmtd1NoAssocEtaMatchEff_->getTH1()->SetMinimum(0.);
0878 computeEfficiency1D(meETLTrackMatchedTPmtd1NoAssocEta, meETLTrackMatchedTPmtd1Eta, meETLTPmtd1NoAssocEtaMatchEff_);
0879
0880 meETLTPmtd1NoAssocPtMatchEff_ = ibook.book1D("ETLTPmtd1NoAssocPtMatchEff",
0881 "Track efficiency TP-mtd hit (>=1 sim hit), no reco match VS Pt",
0882 meETLTrackMatchedTPmtd1Pt->getNbinsX(),
0883 meETLTrackMatchedTPmtd1Pt->getTH1()->GetXaxis()->GetXmin(),
0884 meETLTrackMatchedTPmtd1Pt->getTH1()->GetXaxis()->GetXmax());
0885 meETLTPmtd1NoAssocPtMatchEff_->getTH1()->SetMinimum(0.);
0886 computeEfficiency1D(meETLTrackMatchedTPmtd1NoAssocPt, meETLTrackMatchedTPmtd1Pt, meETLTPmtd1NoAssocPtMatchEff_);
0887
0888 meETLTPmtd2CorrectAssocEtaMatchEff_ =
0889 ibook.book1D("ETLTPmtd2CorrectAssocEtaMatchEff",
0890 "Track efficiency TP-mtd hit (2 sim hits), correct reco match VS Eta",
0891 meETLTrackMatchedTPmtd2Eta->getNbinsX(),
0892 meETLTrackMatchedTPmtd2Eta->getTH1()->GetXaxis()->GetXmin(),
0893 meETLTrackMatchedTPmtd2Eta->getTH1()->GetXaxis()->GetXmax());
0894 meETLTPmtd2CorrectAssocEtaMatchEff_->getTH1()->SetMinimum(0.);
0895 computeEfficiency1D(
0896 meETLTrackMatchedTPmtd2CorrectAssocEta, meETLTrackMatchedTPmtd2Eta, meETLTPmtd2CorrectAssocEtaMatchEff_);
0897
0898 meETLTPmtd2CorrectAssocPtMatchEff_ =
0899 ibook.book1D("ETLTPmtd2CorrectAssocPtMatchEff",
0900 "Track efficiency TP-mtd hit (2 sim hits), correct reco match VS Pt",
0901 meETLTrackMatchedTPmtd2Pt->getNbinsX(),
0902 meETLTrackMatchedTPmtd2Pt->getTH1()->GetXaxis()->GetXmin(),
0903 meETLTrackMatchedTPmtd2Pt->getTH1()->GetXaxis()->GetXmax());
0904 meETLTPmtd2CorrectAssocPtMatchEff_->getTH1()->SetMinimum(0.);
0905 computeEfficiency1D(
0906 meETLTrackMatchedTPmtd2CorrectAssocPt, meETLTrackMatchedTPmtd2Pt, meETLTPmtd2CorrectAssocPtMatchEff_);
0907
0908 meETLTPmtd2WrongAssocEtaMatchEff_ =
0909 ibook.book1D("ETLTPmtd2WrongAssocEtaMatchEff",
0910 "Track efficiency TP-mtd hit (2 sim hits), incorrect reco match VS Eta",
0911 meETLTrackMatchedTPmtd2Eta->getNbinsX(),
0912 meETLTrackMatchedTPmtd2Eta->getTH1()->GetXaxis()->GetXmin(),
0913 meETLTrackMatchedTPmtd2Eta->getTH1()->GetXaxis()->GetXmax());
0914 meETLTPmtd2WrongAssocEtaMatchEff_->getTH1()->SetMinimum(0.);
0915 computeEfficiency1D(
0916 meETLTrackMatchedTPmtd2WrongAssocEta, meETLTrackMatchedTPmtd2Eta, meETLTPmtd2WrongAssocEtaMatchEff_);
0917
0918 meETLTPmtd2WrongAssocPtMatchEff_ =
0919 ibook.book1D("ETLTPmtd2WrongAssocPtMatchEff",
0920 "Track efficiency TP-mtd hit (2 sim hits), incorrect reco match VS Pt",
0921 meETLTrackMatchedTPmtd2Pt->getNbinsX(),
0922 meETLTrackMatchedTPmtd2Pt->getTH1()->GetXaxis()->GetXmin(),
0923 meETLTrackMatchedTPmtd2Pt->getTH1()->GetXaxis()->GetXmax());
0924 meETLTPmtd2WrongAssocPtMatchEff_->getTH1()->SetMinimum(0.);
0925 computeEfficiency1D(meETLTrackMatchedTPmtd2WrongAssocPt, meETLTrackMatchedTPmtd2Pt, meETLTPmtd2WrongAssocPtMatchEff_);
0926
0927 meETLTPmtd2NoAssocEtaMatchEff_ = ibook.book1D("ETLTPmtd2NoAssocEtaMatchEff",
0928 "Track efficiency TP-mtd hit (2 sim hits), no reco match VS Eta",
0929 meETLTrackMatchedTPmtd2Eta->getNbinsX(),
0930 meETLTrackMatchedTPmtd2Eta->getTH1()->GetXaxis()->GetXmin(),
0931 meETLTrackMatchedTPmtd2Eta->getTH1()->GetXaxis()->GetXmax());
0932 meETLTPmtd2NoAssocEtaMatchEff_->getTH1()->SetMinimum(0.);
0933 computeEfficiency1D(meETLTrackMatchedTPmtd2NoAssocEta, meETLTrackMatchedTPmtd2Eta, meETLTPmtd2NoAssocEtaMatchEff_);
0934
0935 meETLTPmtd2NoAssocPtMatchEff_ = ibook.book1D("ETLTPmtd2NoAssocPtMatchEff",
0936 "Track efficiency TP-mtd hit (2 sim hits), no reco match VS Pt",
0937 meETLTrackMatchedTPmtd2Pt->getNbinsX(),
0938 meETLTrackMatchedTPmtd2Pt->getTH1()->GetXaxis()->GetXmin(),
0939 meETLTrackMatchedTPmtd2Pt->getTH1()->GetXaxis()->GetXmax());
0940 meETLTPmtd2NoAssocPtMatchEff_->getTH1()->SetMinimum(0.);
0941 computeEfficiency1D(meETLTrackMatchedTPmtd2NoAssocPt, meETLTrackMatchedTPmtd2Pt, meETLTPmtd2NoAssocPtMatchEff_);
0942
0943 meETLTPnomtdEtaMatchEff_ = ibook.book1D("ETLTPnomtdEtaMatchEff",
0944 "Track efficiency TP- no mtd hit, with reco match VS Eta",
0945 meETLTrackMatchedTPnomtdEta->getNbinsX(),
0946 meETLTrackMatchedTPnomtdEta->getTH1()->GetXaxis()->GetXmin(),
0947 meETLTrackMatchedTPnomtdEta->getTH1()->GetXaxis()->GetXmax());
0948 meETLTPnomtdEtaMatchEff_->getTH1()->SetMinimum(0.);
0949 computeEfficiency1D(meETLTrackMatchedTPnomtdAssocEta, meETLTrackMatchedTPnomtdEta, meETLTPnomtdEtaMatchEff_);
0950
0951 meETLTPnomtdPtMatchEff_ = ibook.book1D("ETLTPnomtdPtMatchEff",
0952 "Track efficiency TP- no mtd hit, with reco match VS Pt",
0953 meETLTrackMatchedTPnomtdPt->getNbinsX(),
0954 meETLTrackMatchedTPnomtdPt->getTH1()->GetXaxis()->GetXmin(),
0955 meETLTrackMatchedTPnomtdPt->getTH1()->GetXaxis()->GetXmax());
0956 meETLTPnomtdPtMatchEff_->getTH1()->SetMinimum(0.);
0957 computeEfficiency1D(meETLTrackMatchedTPnomtdAssocPt, meETLTrackMatchedTPnomtdPt, meETLTPnomtdPtMatchEff_);
0958
0959 meNoTimeFraction_ = ibook.book1D("NoTimeFraction",
0960 "Fraction of tracks with MTD hits and no time associated; Num. of hits",
0961 meTrackNumHits->getNbinsX(),
0962 meTrackNumHits->getTH1()->GetXaxis()->GetXmin(),
0963 meTrackNumHits->getTH1()->GetXaxis()->GetXmax());
0964 meNoTimeFraction_->getTH1()->SetMinimum(0.);
0965 computeEfficiency1D(meTrackNumHitsNT, meTrackNumHits, meNoTimeFraction_);
0966
0967 meBtlEtaEff_->getTH1()->SetMinimum(0.);
0968 meBtlPhiEff_->getTH1()->SetMinimum(0.);
0969 meBtlPtEff_->getTH1()->SetMinimum(0.);
0970 meEtlEtaEff_->getTH1()->SetMinimum(0.);
0971 meEtlPhiEff_->getTH1()->SetMinimum(0.);
0972 meEtlPtEff_->getTH1()->SetMinimum(0.);
0973 meEtlEtaEff2_->getTH1()->SetMinimum(0.);
0974 meEtlPhiEff2_->getTH1()->SetMinimum(0.);
0975 meEtlPtEff2_->getTH1()->SetMinimum(0.);
0976 for (int i = 0; i < 2; i++) {
0977 meEtlEtaEffLowPt_[i]->getTH1()->SetMinimum(0.);
0978 meEtlEtaEff2LowPt_[i]->getTH1()->SetMinimum(0.);
0979 }
0980
0981 meExtraPhiAtBTLEff_ = ibook.book1D("ExtraPhiAtBTLEff",
0982 "Efficiency to match hits at BTL surface of extrapolated tracks associated to LV",
0983 meExtraPhiAtBTL->getNbinsX(),
0984 meExtraPhiAtBTL->getTH1()->GetXaxis()->GetXmin(),
0985 meExtraPhiAtBTL->getTH1()->GetXaxis()->GetXmax());
0986 meExtraPhiAtBTLEff_->getTH1()->SetMinimum(0.);
0987 computeEfficiency1D(meExtraPhiAtBTLmatched, meExtraPhiAtBTL, meExtraPhiAtBTLEff_);
0988
0989 normalize(meExtraBTLeneInCone, 1.);
0990
0991 meExtraMTDfailExtenderEtaEff_ =
0992 ibook.book1D("ExtraMTDfailExtenderEtaEff",
0993 "Track associated to LV extrapolated at MTD surface no extender efficiency VS Eta;Eta;Efficiency",
0994 meTrackMatchedTPEtaTotLV->getNbinsX(),
0995 meTrackMatchedTPEtaTotLV->getTH1()->GetXaxis()->GetXmin(),
0996 meTrackMatchedTPEtaTotLV->getTH1()->GetXaxis()->GetXmax());
0997 meExtraMTDfailExtenderEtaEff_->getTH1()->SetMinimum(0.);
0998 computeEfficiency1D(meExtraMTDfailExtenderEta, meTrackMatchedTPEtaTotLV, meExtraMTDfailExtenderEtaEff_);
0999
1000 meExtraMTDfailExtenderPtEff_ = ibook.book1D(
1001 "ExtraMTDfailExtenderPtEff",
1002 "Track associated to LV extrapolated at MTD surface no extender efficiency VS Pt;Pt [GeV];Efficiency",
1003 meTrackMatchedTPPtTotLV->getNbinsX(),
1004 meTrackMatchedTPPtTotLV->getTH1()->GetXaxis()->GetXmin(),
1005 meTrackMatchedTPPtTotLV->getTH1()->GetXaxis()->GetXmax());
1006 meExtraMTDfailExtenderPtEff_->getTH1()->SetMinimum(0.);
1007 computeEfficiency1D(meExtraMTDfailExtenderPt, meTrackMatchedTPPtTotLV, meExtraMTDfailExtenderPtEff_);
1008 }
1009
1010
1011 void MtdTracksHarvester::fillDescriptions(edm::ConfigurationDescriptions& descriptions) {
1012 edm::ParameterSetDescription desc;
1013
1014 desc.add<std::string>("folder", "MTD/Tracks/");
1015
1016 descriptions.add("MtdTracksPostProcessor", desc);
1017 }
1018
1019 DEFINE_FWK_MODULE(MtdTracksHarvester);