3 #include "Math/GenVector/VectorUtil.h"
6 triggerEventObject_(ps.getUntrackedParameter<edm::InputTag>(
"triggerEventObject")),
7 triggerTag_(ps.getUntrackedParameter<std::string>(
"DQMFolder",
"DoubleTau")),
8 filter_(ps.getUntrackedParameter<std::vector<edm::InputTag> >(
"Filter")),
9 TauType_(ps.getUntrackedParameter<std::vector<int> >(
"TauType")),
10 LeptonType_(ps.getUntrackedParameter<std::vector<int> >(
"LeptonType")),
11 nTriggeredTaus_(ps.getUntrackedParameter<std::vector<unsigned> >(
"NTriggeredTaus")),
12 nTriggeredLeptons_(ps.getUntrackedParameter<std::vector<unsigned> >(
"NTriggeredLeptons")),
14 matchDeltaR_(ps.getUntrackedParameter<std::vector<double> >(
"MatchDeltaR")),
15 refTauPt_(ps.getUntrackedParameter<double>(
"refTauPt",20)),
16 refLeptonPt_(ps.getUntrackedParameter<double>(
"refLeptonPt",15))
65 using namespace l1extra;
66 using namespace trigger;
73 bool isGoodReferenceEvent=
false;
86 unsigned int highPtTaus=0;
87 for(
size_t j = 0;
j<refC[0].size();++
j)
107 unsigned int highPtLeptons=0;
108 for(
size_t j = 0;
j<refC[1].size();++
j)
120 if(lepton_ok&&tau_ok)
123 isGoodReferenceEvent=
true;
136 if (trigEv.isValid())
145 if(ID!=trigEv->size())
156 if(isGoodReferenceEvent)
160 for(
size_t j=0;
j<taus.size();++
j)
167 for(
size_t j=0;
j<leptons.size();++
j)
194 for(std::vector<LV>::const_iterator it = McInfo.begin();it!=McInfo.end();++it)
196 double delta = ROOT::Math::VectorUtil::DeltaR(jet,*it);
210 using namespace trigger;
219 for(
size_t i=0;
i<obj.size();++
i)
220 if(obj.at(
i).isAvailable())
221 out.push_back(obj[
i]->p4());
228 for(
size_t i=0;
i<obj.size();++
i)
229 if(obj.at(
i).isAvailable())
231 out.push_back(obj[
i]->p4());
239 for(
size_t i=0;
i<obj.size();++
i)
240 if(obj.at(
i).isAvailable())
242 out.push_back(obj[
i]->p4());
249 for(
size_t i=0;
i<obj.size();++
i)
250 if(obj.at(
i).isAvailable())
251 out.push_back(obj[
i]->p4());
258 for(
size_t i=0;
i<obj.size();++
i)
259 if(obj.at(
i).isAvailable())
260 out.push_back(obj[
i]->p4());
262 for(
size_t i=0;
i<obj.size();++
i)
263 if(obj.at(
i).isAvailable())
264 out.push_back(obj[
i]->p4());
272 for(
size_t i=0;
i<obj.size();++
i)
273 if(obj.at(
i).isAvailable())
274 out.push_back(obj[
i]->p4());
HLTTauDQMPathPlotter(const edm::ParameterSet &, bool)
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
void analyze(const edm::Event &, const edm::EventSetup &, const std::vector< LVColl > &)
enum start value shifted to 81 so as to avoid clashes with PDG codes
std::vector< edm::InputTag > filter_
std::vector< int > LeptonType_
void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
std::vector< l1extra::L1MuonParticleRef > VRl1muon
math::XYZTLorentzVectorD LV
LVColl getFilterCollection(size_t, int, const trigger::TriggerEventWithRefs &)
tuple obj
Example code starts here #.
MonitorElement * accepted_events
bool match(const LV &, const LVColl &, double)
std::vector< l1extra::L1EmParticleRef > VRl1em
std::vector< unsigned > nTriggeredLeptons_
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
std::vector< double > matchDeltaR_
MonitorElement * accepted_events_matched
std::vector< reco::CaloJetRef > VRjet
std::vector< int > TauType_
void getObjects(size_type filter, Vids &ids, VRphoton &photons) const
extract Ref<C>s for a specific filter and of specific physics type
std::vector< reco::RecoChargedCandidateRef > VRmuon
edm::InputTag triggerEventObject_
InputTag of TriggerEventWithRefs to analyze.
std::vector< reco::ElectronRef > VRelectron
std::vector< l1extra::L1JetParticleRef > VRl1jet
tuple size
Write out results.
std::vector< unsigned > nTriggeredTaus_
void setCurrentFolder(const std::string &fullpath)