13 #include "Math/GenVector/VectorUtil.h" 21 : mBX(
p.getParameter<
int>(
"BX")),
22 mVerbose(
p.getUntrackedParameter<
int>(
"verbose", 0)),
24 mCone(
p.getParameter<double>(
"UseTowersInCone")),
25 mCone2(mCone * mCone),
27 mEtThreshold(
p.getParameter<double>(
"minimumEt")),
28 mEThreshold(
p.getParameter<double>(
"minimumE")),
29 mTauId(
p.getParameter<
int>(
"TauId")) {
30 produces<CaloTowerCollection>();
51 for (
auto myL1Jet = jetsgen->
begin(
mBX); myL1Jet != jetsgen->
end(
mBX); myL1Jet++) {
56 bool isAccepted =
false;
58 edm::LogInfo(
"JetDebugInfo") <<
"CaloTowerFromL1TCreatorForTauHLT::produce-> " <<
idx 59 <<
" tower et/eta/phi/e: " << cal->
et() <<
'/' << cal->
eta() <<
'/' 60 << cal->
phi() <<
'/' << cal->
energy() <<
" is...";
64 double delta2 = ROOT::Math::VectorUtil::DeltaR2((*myL1Jet).p4().Vect(),
p);
67 cands->push_back(*cal);
81 edm::LogWarning(
"MissingProduct") <<
"L1Upgrade jet bx collection not found." << std::endl;
92 aDesc.
add<
int>(
"TauId", 0)->setComment(
"Item from L1 Tau collection used for seeding. From 0 to 11");
93 aDesc.
add<
double>(
"UseTowersInCone", 0.8)->
setComment(
"Radius of cone around seed");
94 aDesc.
add<
double>(
"minimumE", 0.8)->
setComment(
"Minimum tower energy");
95 aDesc.
add<
double>(
"minimumEt", 0.5)->
setComment(
"Minimum tower ET");
96 aDesc.
add<
int>(
"BX", 0)->setComment(
"Set bunch crossing; 0 = in time, -1 = previous, 1 = following");
97 aDesc.
addUntracked<
int>(
"verbose", 0)->setComment(
"Verbosity level; 0=silent");
99 desc.add(
"CaloTowerFromL1TCreatorForTauHLT", aDesc);
100 desc.setComment(
"Produce tower collection around L1 particle seed.");
void setComment(std::string const &value)
void produce(edm::StreamID sid, edm::Event &evt, const edm::EventSetup &stp) const override
process one event
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
ParameterDescriptionBase * addUntracked(U const &iLabel, T const &value)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
BXVector< Tau > TauBxCollection
const_iterator begin(int bx) const
double et(double vtxZ) const
const int mVerbose
verbosity
#define DEFINE_FWK_MODULE(type)
const edm::EDGetTokenT< l1t::TauBxCollection > mTauTrigger_token
label of tau trigger type analysis
ParameterDescriptionBase * add(U const &iLabel, T const &value)
const int mBX
bunch crossing
const double mEtThreshold
ET threshold.
Log< level::Info, false > LogInfo
PtEtaPhiELorentzVectorD PtEtaPhiELorentzVector
Lorentz vector with cartesian internal representation.
CaloTowerFromL1TCreatorForTauHLT(const edm::ParameterSet &)
constructor from parameter set
const_iterator end(int bx) const
static void fillDescriptions(edm::ConfigurationDescriptions &desc)
const double mEThreshold
E threshold.
Log< level::Warning, false > LogWarning
const edm::EDGetTokenT< CaloTowerCollection > mtowers_token
label of source collection
double phi() const final
momentum azimuthal angle
const double mCone
use only towers in cone mCone around L1 candidate for regional jet reco
double energy() const final
energy
double eta() const final
momentum pseudorapidity