9 typedef ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiM4D<double> >
LorentzV;
13 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;
43 edm::LogError(
"SUSY_HLT_alphaT") <<
"Initialization of HLTConfigProvider failed!!";
47 bool pathFound =
false;
49 for(
size_t j = 0;
j <allTrigNames.size(); ++
j) {
56 LogDebug (
"SUSY_HLT_alphaT") <<
"Path not found" <<
"\n";
63 edm::LogInfo(
"SUSY_HLT_alphaT") <<
"SUSY_HLT_alphaT::beginRun" << std::endl;
68 edm::LogInfo(
"SUSY_HLT_alphaT") <<
"SUSY_HLT_alphaT::bookHistograms" << std::endl;
76 edm::LogInfo(
"SUSY_HLT_alphaT") <<
"SUSY_HLT_alphaT::beginLuminosityBlock" << std::endl;
82 edm::LogInfo(
"SUSY_HLT_alphaT") <<
"SUSY_HLT_alphaT::analyze" << std::endl;
90 edm::LogWarning (
"SUSY_HLT_alphaT") <<
"invalid collection: TriggerResults" <<
"\n";
96 edm::LogWarning (
"SUSY_HLT_alphaT") <<
"invalid collection: TriggerSummary" <<
"\n";
105 if ( !pfJetCollection.
isValid() ){
106 edm::LogWarning (
"SUSY_HLT_alphaT") <<
"invalid collection: PFJets" <<
"\n";
111 if ( !caloJetCollection.
isValid() ){
112 edm::LogWarning (
"SUSY_HLT_alphaT") <<
"invalid collection: CaloJets" <<
"\n";
118 size_t filterIndex = triggerSummary->filterIndex(
triggerFilter_ );
124 std::vector<LorentzV> hltPfJets;
125 if( !(filterIndex >= triggerSummary->sizeFilters()) ){
128 for(
size_t j = 0;
j < keys.size(); ++
j ){
133 hltPfHt += foundObject.
pt();
135 hltPfJets.push_back(JetLVec);
143 std::vector<LorentzV> hltCaloJets;
144 if( !(preFilterIndex >= triggerSummary->sizeFilters()) ){
147 for(
size_t j = 0;
j < keys.size(); ++
j ){
152 hltCaloHt += foundObject.
pt();
154 hltCaloJets.push_back(JetLVec);
161 if(hltPfJets.size()>0){
162 double hltPfAlphaT =
AlphaT(hltPfJets,
true).
value();
168 if(hltCaloJets.size()>0){
169 double hltCaloAlphaT =
AlphaT(hltCaloJets,
true).
value();
175 bool hasFired =
false;
176 bool hasFiredAuxiliaryForHadronicLeg =
false;
178 unsigned int numTriggers = trigNames.
size();
179 for(
unsigned int hltIndex=0; hltIndex<numTriggers; ++hltIndex ){
180 if (trigNames.
triggerName(hltIndex).find(
triggerPath_) != std::string::npos && hltresults->wasrun(hltIndex) && hltresults->accept(hltIndex)) hasFired =
true;
185 if(hasFiredAuxiliaryForHadronicLeg) {
188 std::vector<LorentzV>
pfJets;
189 for (reco::PFJetCollection::const_iterator i_pfjet = pfJetCollection->begin(); i_pfjet != pfJetCollection->end(); ++i_pfjet){
191 if (fabs(i_pfjet->eta()) >
etaThrJet_)
continue;
192 pfHT += i_pfjet->pt();
193 LorentzV JetLVec(i_pfjet->pt(),i_pfjet->eta(),i_pfjet->phi(),i_pfjet->mass());
194 pfJets.push_back(JetLVec);
199 std::vector<LorentzV> caloJets;
200 for (reco::CaloJetCollection::const_iterator i_calojet = caloJetCollection->begin(); i_calojet != caloJetCollection->end(); ++i_calojet){
201 if (i_calojet->pt() <
ptThrJet_)
continue;
202 if (fabs(i_calojet->eta()) >
etaThrJet_)
continue;
203 caloHT += i_calojet->pt();
204 LorentzV JetLVec(i_calojet->pt(),i_calojet->eta(),i_calojet->phi(),i_calojet->mass());
205 caloJets.push_back(JetLVec);
231 edm::LogInfo(
"SUSY_HLT_alphaT") <<
"SUSY_HLT_alphaT::endLuminosityBlock" << std::endl;
237 edm::LogInfo(
"SUSY_HLT_alphaT") <<
"SUSY_HLT_alphaT::endRun" << std::endl;
251 h_triggerPfHt = ibooker_.
book1D(
"triggerPfHt",
"Trigger PF Ht; HT (GeV)", 60, 0.0, 1500.0);
260 h_caloHtTurnOn_den = ibooker_.
book1D(
"caloHtTurnOn_den",
"Calo HT Turn On Denominator; HT (GeV)", 30, 0.0, 1500.0 );
264 h_pfHtTurnOn_num = ibooker_.
book1D(
"pfHtTurnOn_num",
"PF HT Turn On Numerator; HT (GeV)", 30, 0.0, 1500.0 );
265 h_pfHtTurnOn_den = ibooker_.
book1D(
"pfHtTurnOn_den",
"PF HT Turn On Denominator; HT (GeV)", 30, 0.0, 1500.0 );
double caloAlphaTThrTurnon_
void dqmBeginRun(edm::Run const &, edm::EventSetup const &) override
edm::InputTag triggerFilter_
MonitorElement * h_triggerCaloAlphaT
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
virtual edm::TriggerNames const & triggerNames(edm::TriggerResults const &triggerResults) const
virtual ~SUSY_HLT_alphaT()
MonitorElement * h_triggerCaloHt
MonitorElement * h_triggerPfHt
edm::EDGetTokenT< trigger::TriggerEvent > theTrigSummary_
edm::EDGetTokenT< reco::CaloJetCollection > theCaloJetCollection_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
MonitorElement * h_caloAlphaTTurnOn_num
#define DEFINE_FWK_MODULE(type)
const std::vector< std::string > & triggerNames() const
names of trigger paths
MonitorElement * h_triggerPfAlphaT_triggerPfHt
Strings::size_type size() const
MonitorElement * h_caloHtTurnOn_den
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
MonitorElement * h_caloAlphaTTurnOn_den
void analyze(edm::Event const &e, edm::EventSetup const &eSetup)
Single trigger physics object (e.g., an isolated muon)
void bookHistos(DQMStore::IBooker &)
MonitorElement * h_pfAlphaTTurnOn_num
edm::EDGetTokenT< edm::TriggerResults > triggerResults_
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
void endRun(edm::Run const &run, edm::EventSetup const &eSetup)
MonitorElement * book1D(Args &&...args)
void endLuminosityBlock(edm::LuminosityBlock const &lumi, edm::EventSetup const &eSetup)
ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > LorentzV
void beginLuminosityBlock(edm::LuminosityBlock const &lumi, edm::EventSetup const &eSetup)
HLTConfigProvider fHltConfig
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
static const char *const trigNames[]
void setCurrentFolder(const std::string &fullpath)
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_
MonitorElement * h_caloHtTurnOn_num
edm::InputTag triggerPreFilter_
MonitorElement * h_triggerCaloAlphaT_triggerCaloHt
SUSY_HLT_alphaT(const edm::ParameterSet &ps)
double pfAlphaTThrTurnon_