340 edm::LogInfo(
"SUSY_HLT_SingleLepton") <<
"SUSY_HLT_SingleLepton::analyze\n";
367 if( !HLTJetCollection.
isValid() ){
377 if( !HLTJetTagCollection.
isValid() ){
387 if( !VertexCollection.
isValid() ){
397 if( !ConversionCollection.
isValid() ){
417 if( !pfMETCollection.
isValid() ){
427 if( !pfJetCollection.
isValid() ){
437 if( !jetTagCollection.
isValid() ){
447 if( !ElectronCollection.
isValid() ){
457 if( !MuonCollection.
isValid() ){
475 if( !triggerSummary.
isValid() ){
482 std::vector<float> ptLepton, etaLepton, phiLepton;
487 if( !(filterIndex >= triggerSummary->
sizeFilters()) ){
488 size_t ilep = 0, num_keys = triggerSummary->
filterKeys(filterIndex).size();
489 ptLepton.resize(num_keys);
490 etaLepton.resize(num_keys);
491 phiLepton.resize(num_keys);
492 for(
const auto &
key: triggerSummary->
filterKeys(filterIndex)){
499 ptLepton.at(ilep)=foundObject.
pt();
500 etaLepton.at(ilep)=foundObject.
eta();
501 phiLepton.at(ilep)=foundObject.
phi();
508 const float hlt_ht = ((HLTHT.
isValid() && !HLTHT->empty())?HLTHT->front().sumEt():-1.0);
510 const float hlt_met = ((HLTMET.
isValid() && !HLTMET->empty())?HLTMET->front().pt():-1.0);
514 float hlt_csv = -1.0;
516 for(
const auto &
jet: *HLTJetTagCollection){
517 if(
jet.second>hlt_csv) hlt_csv =
jet.second;
523 bool hasFired =
false;
524 bool hasFiredAuxiliary =
false;
525 bool hasFiredLeptonAuxiliary =
false;
528 for(
unsigned int hltIndex = 0; hltIndex < trigNames.
size(); ++hltIndex ){
529 if(hltresults->
wasrun(hltIndex) && hltresults->
accept(hltIndex)){
542 for(
const auto &pfjet: *pfJetCollection){
551 if(pfMETCollection.
isValid() && !pfMETCollection->empty()){
552 pfMET = pfMETCollection->front().et();
557 unsigned num_csvl = 0;
558 unsigned num_csvm = 0;
559 unsigned num_csvt = 0;
560 if(jetTagCollection.
isValid()){
561 for(
const auto &
jet: *jetTagCollection){
562 const float CSV =
jet.second;
582 double lep_max_pt = -1.0;
583 if(VertexCollection.
isValid() && !VertexCollection->empty()){
585 if(ElectronCollection.
isValid()
586 && ConversionCollection.
isValid()
588 for(
const auto &
electron: *ElectronCollection){
589 if(IsGood(
electron, VertexCollection->front().position(),
598 for(
const auto &
muon: *MuonCollection){
599 if(IsGood(
muon, VertexCollection->front().position())){
600 if(
muon.pt()>lep_max_pt){
601 lep_max_pt=
muon.pt();
616 if(ht_plateau && met_plateau && csv_plateau
627 if(lep_plateau && met_plateau && csv_plateau){
633 if(lep_plateau && ht_plateau && csv_plateau){
639 if(lep_plateau && ht_plateau && met_plateau){
edm::InputTag theElectronTag_
bool wasrun() const
Was at least one path run?
edm::EDGetTokenT< edm::TriggerResults > theTriggerResults_
edm::InputTag theLeptonFilterTag_
std::string triggerPathLeptonAuxiliary_
edm::InputTag theConversionCollectionTag_
trigger::size_type sizeFilters() const
edm::InputTag theMuonTag_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
edm::EDGetTokenT< reco::MuonCollection > theMuonCollection_
edm::EDGetTokenT< reco::METCollection > theHLTMET_
edm::InputTag theTriggerResultsTag_
bool accept() const
Has at least one path accepted the event?
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_triggerLepPt_
std::vector< Vertex > VertexCollection
collection of Vertex objects
MonitorElement * h_pfMetTurnOn_den_
MonitorElement * h_leptonTurnOn_num_
MonitorElement * h_CSVTurnOn_num_
Strings::size_type size() const
MonitorElement * h_pfHTTurnOn_num_
edm::EDGetTokenT< reco::JetTagCollection > theJetTagCollection_
MonitorElement * h_CSVTurnOn_den_
edm::EDGetTokenT< reco::CaloJetCollection > theHLTJetCollection_
std::vector< Conversion > ConversionCollection
collectin of Conversion objects
std::vector< Muon > MuonCollection
collection of Muon objects
edm::InputTag theHLTMETTag_
Single trigger physics object (e.g., an isolated muon)
edm::EDGetTokenT< reco::GsfElectronCollection > theElectronCollection_
edm::InputTag theJetTagTag_
edm::InputTag thePfMETTag_
const TriggerObjectCollection & getObjects() const
edm::EDGetTokenT< reco::ConversionCollection > theConversionCollection_
MonitorElement * h_btagTurnOn_den_
MonitorElement * h_triggerLepPhi_
edm::InputTag thePfJetTag_
std::vector< Electron > ElectronCollection
collectin of Electron objects
edm::EDGetTokenT< reco::JetTagCollection > theHLTJetTagCollection_
edm::InputTag theHLTJetCollectionTag_
edm::EDGetTokenT< reco::BeamSpot > theBeamSpot_
edm::InputTag theTrigSummaryTag_
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
edm::EDGetTokenT< reco::PFJetCollection > thePfJetCollection_
static const char *const trigNames[]
edm::InputTag theBeamSpotTag_
MonitorElement * h_pfHTTurnOn_den_
std::string const & triggerName(unsigned int index) const
MonitorElement * h_triggerLepEta_
MonitorElement * h_pfMetTurnOn_num_
edm::EDGetTokenT< reco::PFMETCollection > thePfMETCollection_
edm::EDGetTokenT< reco::VertexCollection > theVertexCollection_
edm::InputTag theHLTHTTag_
std::string triggerPathAuxiliary_
MonitorElement * h_btagTurnOn_num_
const Point & position() const
position
MonitorElement * h_maxCSV_
MonitorElement * h_leptonTurnOn_den_
edm::TriggerNames const & triggerNames(edm::TriggerResults const &triggerResults) const override
edm::EDGetTokenT< reco::METCollection > theHLTHT_
edm::InputTag theVertexCollectionTag_
edm::EDGetTokenT< trigger::TriggerEvent > theTrigSummary_
edm::InputTag theHLTJetTagCollectionTag_