2 #include "Math/GenVector/VectorUtil.h"
13 using namespace l1extra;
18 tauTrigger = consumes<trigger::TriggerFilterObjectWithRefs>(iConfig.
getParameter<
InputTag>(
"L1TauTrigger") );
21 produces<CaloJetCollection>();
32 using namespace trigger;
33 using namespace l1extra;
35 typedef std::vector<LeafCandidate> LeafCandidateCollection;
40 double matchingR = 0.5;
51 tauCandRefVec.clear();
52 jetCandRefVec.clear();
59 for(
unsigned int iL1Tau=0; iL1Tau <tauCandRefVec.size();iL1Tau++)
61 for(
unsigned int iJet=0;iJet<tauJets->size();iJet++)
64 const Candidate & myJet = (*tauJets)[iJet];
65 deltaR = ROOT::Math::VectorUtil::DeltaR(myJet.
p4().Vect(), (tauCandRefVec[iL1Tau]->p4()).Vect());
69 if(myJet.
pt() > mEt_Min) {
71 tauL2jets->push_back(myCaloJet);
78 for(
unsigned int iL1Tau=0; iL1Tau <jetCandRefVec.size();iL1Tau++)
80 for(
unsigned int iJet=0;iJet<tauJets->size();iJet++)
82 const Candidate & myJet = (*tauJets)[iJet];
84 deltaR = ROOT::Math::VectorUtil::DeltaR(myJet.
p4().Vect(), (jetCandRefVec[iL1Tau]->p4()).Vect());
88 if(myJet.
pt() > mEt_Min) {
90 tauL2jets->push_back(myCaloJet);
100 iEvent.
put(tauL2jets);
T getParameter(std::string const &) const
Jets made from CaloTowers.
bool getByToken(EDGetToken token, Handle< PROD > &result) const
virtual void produce(edm::Event &, const edm::EventSetup &) override
double deltaR(const T1 &t1, const T2 &t2)
virtual float pt() const =0
transverse momentum
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
XYZPointD XYZPoint
point in space with cartesian internal representation
L1HLTJetsMatching(const edm::ParameterSet &)
std::vector< CaloJet > CaloJetCollection
collection of CaloJet objects
virtual const LorentzVector & p4() const =0
four-momentum Lorentz vector