62 desc.
add<
int>(
"ncandcut", 1);
63 desc.
add<
bool>(
"EBOnly",
false);
64 desc.
add<
double>(
"sMin_min", 0.1);
65 desc.
add<
double>(
"sMin_max", 0.4);
66 desc.
add<
double>(
"sMaj_min", 0.0);
67 desc.
add<
double>(
"sMaj_max", 999.0);
68 desc.
add<
double>(
"seedTimeMin", -25.0);
69 desc.
add<
double>(
"seedTimeMax", 25.0);
70 desc.
add<
int>(
"maxTrackCut", 0);
71 desc.
add<
double>(
"trackPtCut", 3.0);
72 desc.
add<
double>(
"trackdRCut", 0.5);
73 descriptions.
add(
"hltDisplacedEgammaFilter", desc);
103 std::vector<edm::Ref<reco::RecoEcalCandidateCollection> > recoecalcands;
110 for (
auto const & ref : recoecalcands) {
119 Cluster2ndMoments moments = EcalClusterTools::cluster2ndMoments(*SCseed, *rechits);
120 float sMin = moments.
sMin ;
121 float sMaj = moments.
sMaj ;
122 if ( sMin < sMin_min || sMin >
sMin_max ) continue ;
123 if ( sMaj < sMaj_min || sMaj >
sMaj_max ) continue ;
126 std::pair<DetId, float> maxRH = EcalClusterTools::getMaximum( *SCseed, rechits );
127 DetId seedCrystalId = maxRH.first;
128 auto seedRH = rechits->
find(seedCrystalId);
129 float seedTime = (
float)seedRH->time();
130 if ( seedTime < seedTimeMin || seedTime >
seedTimeMax ) continue ;
135 for (
auto const & it : *tracks) {
136 if ( it.pt() <
trkPtCut )
continue ;
T getParameter(std::string const &) const
edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken_
void getObjects(Vids &ids, VRphoton &refs) const
various physics-level getters:
bool getByToken(EDGetToken token, Handle< PROD > &result) const
bool hltFilter(edm::Event &, const edm::EventSetup &, trigger::TriggerFilterObjectWithRefs &filterproduct) const override
edm::EDGetTokenT< EcalRecHitCollection > rechitsEBToken_
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
edm::EDGetTokenT< EcalRecHitCollection > rechitsEEToken_
void addObject(int id, const reco::RecoEcalCandidateRef &ref)
setters for L3 collections: (id=physics type, and Ref<C>)
#define DEFINE_FWK_MODULE(type)
~HLTDisplacedEgammaFilter() override
HLTDisplacedEgammaFilter(const edm::ParameterSet &)
edm::EDGetTokenT< reco::TrackCollection > inputTrkToken_
Abs< T >::type abs(const T &t)
math::XYZTLorentzVector LorentzVector
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
ParameterDescriptionBase * add(U const &iLabel, T const &value)
static void makeHLTFilterDescription(edm::ParameterSetDescription &desc)
T const * product() const
void addCollectionTag(const edm::InputTag &collectionTag)
collectionTags
void add(std::string const &label, ParameterSetDescription const &psetDescription)
iterator find(key_type k)