9 typedef ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiM4D<double>>
LorentzV;
12 edm::LogInfo(
"SUSY_HLT_alphaT") <<
"Constructor SUSY_HLT_alphaT::SUSY_HLT_alphaT " << std::endl;
34 edm::LogInfo(
"SUSY_HLT_alphaT") <<
"Destructor SUSY_HLT_alphaT::~SUSY_HLT_alphaT " << std::endl;
41 edm::LogError(
"SUSY_HLT_alphaT") <<
"Initialization of HLTConfigProvider failed!!";
45 bool pathFound =
false;
47 for (
size_t j = 0; j < allTrigNames.size(); ++j) {
54 LogDebug(
"SUSY_HLT_alphaT") <<
"Path not found" 64 edm::LogInfo(
"SUSY_HLT_alphaT") <<
"SUSY_HLT_alphaT::beginRun" << std::endl;
68 edm::LogInfo(
"SUSY_HLT_alphaT") <<
"SUSY_HLT_alphaT::bookHistograms" << std::endl;
74 edm::LogInfo(
"SUSY_HLT_alphaT") <<
"SUSY_HLT_alphaT::analyze" << std::endl;
82 edm::LogWarning(
"SUSY_HLT_alphaT") <<
"invalid collection: TriggerResults" 88 if (!triggerSummary.
isValid()) {
89 edm::LogWarning(
"SUSY_HLT_alphaT") <<
"invalid collection: TriggerSummary" 99 if (!pfJetCollection.
isValid()) {
119 std::vector<LorentzV> hltPfJets;
120 if (!(filterIndex >= triggerSummary->
sizeFilters())) {
123 for (
size_t j = 0; j < keys.size(); ++j) {
128 hltPfHt += foundObject.
pt();
130 hltPfJets.push_back(JetLVec);
159 if (!hltPfJets.empty()) {
160 double hltPfAlphaT =
AlphaT(hltPfJets,
true).
value();
173 bool hasFired =
false;
174 bool hasFiredAuxiliaryForHadronicLeg =
false;
176 unsigned int numTriggers = trigNames.
size();
177 for (
unsigned int hltIndex = 0; hltIndex < numTriggers; ++hltIndex) {
179 hltresults->
accept(hltIndex))
182 hltresults->
wasrun(hltIndex) && hltresults->
accept(hltIndex))
183 hasFiredAuxiliaryForHadronicLeg =
true;
186 if (hasFiredAuxiliaryForHadronicLeg) {
188 std::vector<LorentzV>
pfJets;
189 for (reco::PFJetCollection::const_iterator i_pfjet = pfJetCollection->begin(); i_pfjet != pfJetCollection->end();
195 pfHT += i_pfjet->pt();
196 LorentzV JetLVec(i_pfjet->pt(), i_pfjet->eta(), i_pfjet->phi(), i_pfjet->mass());
197 pfJets.push_back(JetLVec);
239 edm::LogInfo(
"SUSY_HLT_alphaT") <<
"SUSY_HLT_alphaT::endRun" << std::endl;
255 h_triggerPfHt = ibooker_.
book1D(
"triggerPfHt",
"Trigger PF Ht; HT (GeV)", 60, 0.0, 1500.0);
258 "Trigger PF HT vs Trigger PF AlphaT; HT (GeV); AlphaT",
277 h_pfHtTurnOn_num = ibooker_.
book1D(
"pfHtTurnOn_num",
"PF HT Turn On Numerator; HT (GeV)", 30, 0.0, 1500.0);
278 h_pfHtTurnOn_den = ibooker_.
book1D(
"pfHtTurnOn_den",
"PF HT Turn On Denominator; HT (GeV)", 30, 0.0, 1500.0);
void dqmBeginRun(edm::Run const &, edm::EventSetup const &) override
edm::InputTag triggerFilter_
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
bool wasrun() const
Was at least one path run?
MonitorElement * h_triggerPfHt
trigger::size_type sizeFilters() const
edm::EDGetTokenT< trigger::TriggerEvent > theTrigSummary_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
bool accept() const
Has at least one path accepted the event?
const std::vector< std::string > & triggerNames() const
names of trigger paths
const Keys & filterKeys(trigger::size_type index) const
trigger::size_type filterIndex(const edm::InputTag &filterTag) const
find index of filter in data-member vector from filter tag
MonitorElement * h_triggerPfAlphaT_triggerPfHt
ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > LorentzV
Strings::size_type size() const
~SUSY_HLT_alphaT() override
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
void endRun(edm::Run const &run, edm::EventSetup const &eSetup) override
Single trigger physics object (e.g., an isolated muon)
void bookHistos(DQMStore::IBooker &)
MonitorElement * h_pfAlphaTTurnOn_num
edm::EDGetTokenT< edm::TriggerResults > triggerResults_
#define DEFINE_FWK_MODULE(type)
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
void setCurrentFolder(std::string const &fullpath)
const TriggerObjectCollection & getObjects() const
MonitorElement * book1D(Args &&...args)
ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > LorentzV
HLTConfigProvider fHltConfig
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
static const char *const trigNames[]
void analyze(edm::Event const &e, edm::EventSetup const &eSetup) override
std::string triggerPathAuxiliaryForHadronic_
MonitorElement * book2D(Args &&...args)
std::string const & triggerName(unsigned int index) const
std::vector< size_type > Keys
MonitorElement * h_pfHtTurnOn_den
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d'tor
MonitorElement * h_triggerPfAlphaT
MonitorElement * h_pfAlphaTTurnOn_den
MonitorElement * h_pfHtTurnOn_num
edm::EDGetTokenT< reco::PFJetCollection > thePfJetCollection_
edm::InputTag triggerPreFilter_
edm::TriggerNames const & triggerNames(edm::TriggerResults const &triggerResults) const override
SUSY_HLT_alphaT(const edm::ParameterSet &ps)
double pfAlphaTThrTurnon_