14 #include "Math/GenVector/VectorUtil.h"
22 :
m_verbose(p.getUntrackedParameter<int>(
"verbose", 0)),
24 m_cone(p.getParameter<double>(
"UseTowersInCone")),
25 m_tauTrigger_token(consumes<trigger::TriggerFilterObjectWithRefs>(p.getParameter<
InputTag>(
"TauTrigger"))),
26 m_EtThreshold(p.getParameter<double>(
"minimumEt")),
27 m_EThreshold(p.getParameter<double>(
"minimumE")) {
28 produces<CaloTowerCollection>();
43 auto cands = std::make_unique<CaloTowerCollection>();
44 cands->reserve(caloTowers->size());
49 for (
auto const& tauCandRef : tauCandRefVec) {
50 for (
auto const& cal : *caloTowers) {
51 bool isAccepted =
false;
53 edm::LogInfo(
"JetDebugInfo") <<
"CaloTowerFromL1TSeededCreatorForTauHLT::produce-> tower et/eta/phi/e: "
54 << cal.et() <<
'/' << cal.eta() <<
'/' << cal.phi() <<
'/' << cal.energy()
59 double delta2 =
deltaR2((tauCandRef->p4()).Vect(),
p);
60 if (delta2 < m_cone2) {
62 cands->push_back(cal);
82 ->setComment(
"Name of trigger filter for L1 seeds");
84 aDesc.
add<
double>(
"UseTowersInCone", 0.8)->
setComment(
"Radius of cone around seed");
85 aDesc.
add<
double>(
"minimumE", 0.8)->
setComment(
"Minimum tower energy");
86 aDesc.
add<
double>(
"minimumEt", 0.5)->
setComment(
"Minimum tower ET");
87 aDesc.
addUntracked<
int>(
"verbose", 0)->setComment(
"Verbosity level; 0=silent");
89 desc.
add(
"CaloTowerFromL1TSeededCreatorForTauHLT", aDesc);
90 desc.
setComment(
"Produce tower collection around L1 particle seed.");
const edm::EDGetTokenT< CaloTowerCollection > m_towers_token
label of source collection
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.
const double m_cone
use only towers in cone mCone around L1 candidate for regional jet reco
ParameterDescriptionBase * addUntracked(U const &iLabel, T const &value)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
m_verbose(ps.getUntrackedParameter< bool >("verbose"))
static void fillDescriptions(edm::ConfigurationDescriptions &desc)
const double m_EThreshold
E threshold.
~CaloTowerFromL1TSeededCreatorForTauHLT() override
destructor
CaloTowerFromL1TSeededCreatorForTauHLT(const edm::ParameterSet &)
constructor from parameter set
std::vector< TauRef > TauVectorRef
ParameterDescriptionBase * add(U const &iLabel, T const &value)
Log< level::Info, false > LogInfo
void setComment(std::string const &value)
const int m_verbose
verbosity
constexpr auto deltaR2(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
PtEtaPhiELorentzVectorD PtEtaPhiELorentzVector
Lorentz vector with cartesian internal representation.
const double m_EtThreshold
imitator of L1 seeds
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > m_tauTrigger_token
label of tau trigger type analysis
void add(std::string const &label, ParameterSetDescription const &psetDescription)