13 #include "Math/GenVector/VectorUtil.h"
22 mBX (p.getParameter <int> (
"BX" ) ),
23 mVerbose (p.getUntrackedParameter<int> (
"verbose" , 0) ),
25 mCone (p.getParameter<double> (
"UseTowersInCone" ) ),
27 mEtThreshold (p.getParameter<double> (
"minimumEt" ) ),
28 mEThreshold (p.getParameter<double> (
"minimumE" ) ),
29 mTauId (p.getParameter<int> (
"TauId" ) )
31 produces<CaloTowerCollection>();
46 cands->reserve( caloTowers->size() );
50 for (
auto myL1Jet = jetsgen->begin(
mBX); myL1Jet != jetsgen->end(
mBX); myL1Jet++){
54 for (; idx < caloTowers->size(); idx++) {
56 bool isAccepted =
false;
58 edm::LogInfo(
"JetDebugInfo") <<
"CaloTowerFromL1TCreatorForTauHLT::produce-> " << idx
59 <<
" tower et/eta/phi/e: " << cal->
et() <<
'/'
71 cands->push_back( *cal );
75 if (isAccepted)
edm::LogInfo(
"JetDebugInfo") <<
"accepted \n";
84 edm::LogWarning(
"MissingProduct") <<
"L1Upgrade jet bx collection not found." << std::endl;
97 aDesc.
add<
int> (
"TauId" , 0 )->setComment(
"Item from L1 Tau collection used for seeding. From 0 to 11" );
98 aDesc.
add<
double> (
"UseTowersInCone", 0.8 )->setComment(
"Radius of cone around seed" );
99 aDesc.
add<
double> (
"minimumE" , 0.8 )->setComment(
"Minimum tower energy" );
100 aDesc.
add<
double> (
"minimumEt" , 0.5 )->setComment(
"Minimum tower ET" );
101 aDesc.
add<
int> (
"BX" , 0 )->setComment(
"Set bunch crossing; 0 = in time, -1 = previous, 1 = following");
102 aDesc.
addUntracked<
int> (
"verbose" , 0 )->setComment(
"Verbosity level; 0=silent" );
104 desc.
add (
"CaloTowerFromL1TCreatorForTauHLT", aDesc);
105 desc.
setComment (
"Produce tower collection around L1 particle seed.");
void produce(edm::StreamID sid, edm::Event &evt, const edm::EventSetup &stp) const override
process one event
ParameterDescriptionBase * addUntracked(U const &iLabel, T const &value)
virtual double energy() const final
energy
bool getByToken(EDGetToken token, Handle< PROD > &result) const
~CaloTowerFromL1TCreatorForTauHLT()
destructor
virtual double phi() const final
momentum azimuthal angle
BXVector< Tau > TauBxCollection
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
const int mVerbose
verbosity
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
imitator of L1 seeds
void setComment(std::string const &value)
PtEtaPhiELorentzVectorD PtEtaPhiELorentzVector
Lorentz vector with cartesian internal representation.
tuple idx
DEBUGGING if hasattr(process,"trackMonIterativeTracking2012"): print "trackMonIterativeTracking2012 D...
void add(std::string const &label, ParameterSetDescription const &psetDescription)
CaloTowerFromL1TCreatorForTauHLT(const edm::ParameterSet &)
constructor from parameter set
mVerbose(fConfig.getUntrackedParameter< bool >("verbose", false))
static void fillDescriptions(edm::ConfigurationDescriptions &desc)
double et(double vtxZ) const
virtual double eta() const final
momentum pseudorapidity
const double mEThreshold
E threshold.
const edm::EDGetTokenT< CaloTowerCollection > mtowers_token
label of source collection
const double mCone
use only towers in cone mCone around L1 candidate for regional jet reco