77 edm::LogInfo(
"DQMExample_Step1") <<
"DQMExample_Step1::analyze" << std::endl;
87 edm::LogError (
"DQMClientExample") <<
"invalid collection: vertex" <<
"\n";
91 int vertex_number = vertexHandle->size();
92 reco::VertexCollection::const_iterator
v = vertexHandle->begin();
95 if(vertex_number != 0)
96 PVPoint =
math::XYZPoint(v->position().x(), v->position().y(), v->position().z());
105 if ( !pfMETCollection.
isValid() )
107 edm::LogError (
"DQMClientExample") <<
"invalid collection: MET" <<
"\n";
115 if ( !electronCollection.
isValid() )
117 edm::LogError (
"DQMClientExample") <<
"invalid collection: electrons" <<
"\n";
122 int posEle=0, negEle=0;
125 for (reco::GsfElectronCollection::const_iterator recoElectron=electronCollection->begin(); recoElectron!=electronCollection->end(); ++recoElectron)
131 ele1 = &(*recoElectron);
133 else if(!ele2 && recoElectron->
pt() >
ptThrL2_)
134 ele2 = &(*recoElectron);
138 if(recoElectron->charge()==1)
140 else if(recoElectron->charge()==-1)
145 nEle = posEle+negEle;
152 if ( !caloJetCollection.
isValid() )
154 edm::LogError (
"DQMClientExample") <<
"invalid collection: jets" <<
"\n";
162 for (reco::CaloJetCollection::const_iterator i_calojet = caloJetCollection->begin(); i_calojet != caloJetCollection->end(); ++i_calojet)
166 if (
Distance(*i_calojet,*ele1) < 0.3)
continue;
169 if (
Distance(*i_calojet,*ele2) < 0.3)
continue;
171 if (i_calojet->pt() <
ptThrJet_)
continue;
176 jet1 = &(*i_calojet);
179 jet2 = &(*i_calojet);
192 edm::LogError (
"DQMClientExample") <<
"invalid collection: TriggerResults" <<
"\n";
196 bool hasFired =
false;
198 unsigned int numTriggers = trigNames.
size();
200 for(
unsigned int hltIndex=0; hltIndex<numTriggers; ++hltIndex )
213 edm::LogError (
"DQMClientExample") <<
"invalid collection: TriggerEvent" <<
"\n";
223 if( !(filterIndex >= triggerEvent->
sizeFilters()) )
226 std::vector<reco::Particle> triggeredEle;
228 for(
size_t j = 0; j < keys.size(); ++j )
233 triggeredEle.push_back( foundObject.
particle() );
237 if( !triggeredEle.empty() )
238 ele1_HLT = &(triggeredEle.at(0));
279 if( ele1 && ele1_HLT &&
deltaR(*ele1_HLT,*ele1) < 0.3 && hasFired==
true )
MonitorElement * h_ePhi_leading_matched
bool wasrun() const
Was at least one path run?
double pt() const
transverse momentum
MonitorElement * h_jMultiplicity
bool MediumEle(const edm::Event &iEvent, const edm::EventSetup &iESetup, const reco::GsfElectron &electron)
double eta() const final
momentum pseudorapidity
edm::EDGetTokenT< reco::GsfElectronCollection > theElectronCollection_
Jets made from CaloTowers.
trigger::size_type sizeFilters() const
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
reco::Particle particle(reco::Particle::Charge q=0, const reco::Particle::Point &vertex=reco::Particle::Point(0, 0, 0), int status=0, bool integerCharge=true) const
MonitorElement * h_ePhi_leading_HLT_matched
double pt() const final
transverse momentum
MonitorElement * h_ePhi_leading
MonitorElement * h_eEta_leading_HLT
MonitorElement * h_jPhi_leading
Strings::size_type size() const
edm::EDGetTokenT< trigger::TriggerEvent > triggerEvent_
double Distance(const reco::Candidate &c1, const reco::Candidate &c2)
int pdgId() const
PDG identifier.
MonitorElement * h_eEta_leading
MonitorElement * h_ePt_leading_HLT
Single trigger physics object (e.g., an isolated muon)
MonitorElement * h_ePt_diff
MonitorElement * h_ePt_leading_HLT_matched
double phi() const
momentum azimuthal angle
MonitorElement * h_jEta_leading
const TriggerObjectCollection & getObjects() const
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
Abs< T >::type abs(const T &t)
MonitorElement * h_eEta_leading_HLT_matched
MonitorElement * h_vertex_number
MonitorElement * h_ePt_leading
MonitorElement * h_eMultiplicity
double deltaR(double eta1, double eta2, double phi1, double phi2)
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
static const char *const trigNames[]
edm::EDGetTokenT< edm::TriggerResults > triggerResults_
MonitorElement * h_jPt_leading
std::string const & triggerName(unsigned int index) const
XYZPointD XYZPoint
point in space with cartesian internal representation
std::vector< size_type > Keys
MonitorElement * h_ePt_leading_matched
edm::EDGetTokenT< reco::PFMETCollection > thePfMETCollection_
edm::InputTag triggerFilter_
MonitorElement * h_ePhi_leading_HLT
MonitorElement * h_eMultiplicity_HLT
double eta() const
momentum pseudorapidity
double phi() const final
momentum azimuthal angle
MonitorElement * h_eEta_leading_matched
edm::EDGetTokenT< reco::VertexCollection > thePVCollection_
edm::EDGetTokenT< reco::CaloJetCollection > theCaloJetCollection_