65 desc.
add<
bool>(
"relaxed",
false);
66 desc.
add<
int>(
"ncandcut",1);
67 desc.
add<
bool>(
"EBOnly",
false);
68 desc.
add<
double>(
"sMin_min",0.1);
69 desc.
add<
double>(
"sMin_max",0.4);
70 desc.
add<
double>(
"sMaj_min",0.0);
71 desc.
add<
double>(
"sMaj_max",999.0);
72 desc.
add<
double>(
"seedTimeMin", -25.0);
73 desc.
add<
double>(
"seedTimeMax", 25.0);
74 desc.
add<
int>(
"maxTrackCut", 0);
75 desc.
add<
double>(
"trackPtCut", 3.0);
76 desc.
add<
double>(
"trackdRCut", 0.5);
77 descriptions.
add(
"hltDisplacedEgammaFilter",desc);
85 using namespace trigger;
111 std::vector<edm::Ref<reco::RecoEcalCandidateCollection> > recoecalcands;
113 if(recoecalcands.empty()) PrevFilterOutput->getObjects(
TriggerPhoton, recoecalcands);
118 for (
unsigned int i=0;
i<recoecalcands.size();
i++) {
120 ref = recoecalcands[
i] ;
128 Cluster2ndMoments moments = EcalClusterTools::cluster2ndMoments(*SCseed, *rechits);
129 float sMin = moments.
sMin ;
130 float sMaj = moments.
sMaj ;
131 if ( sMin < sMin_min || sMin >
sMin_max ) continue ;
132 if ( sMaj < sMaj_min || sMaj >
sMaj_max ) continue ;
135 std::pair<DetId, float> maxRH = EcalClusterTools::getMaximum( *SCseed, rechits );
136 DetId seedCrystalId = maxRH.first;
138 float seedTime = (float)seedRH->time();
139 if ( seedTime < seedTimeMin || seedTime >
seedTimeMax ) continue ;
144 for (reco::TrackCollection::const_iterator it =
tracks->begin(); it !=
tracks->end(); it++ ) {
145 if ( it->pt() <
trkPtCut )
continue ;
146 LorentzVector trkP4( it->px(), it->py(), it->pz(), it->p() ) ;
T getParameter(std::string const &) const
edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
virtual bool hltFilter(edm::Event &, const edm::EventSetup &, trigger::TriggerFilterObjectWithRefs &filterproduct) const override
math::XYZTLorentzVector LorentzVector
~HLTDisplacedEgammaFilter()
std::vector< EcalRecHit >::const_iterator const_iterator
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>)
HLTDisplacedEgammaFilter(const edm::ParameterSet &)
edm::EDGetTokenT< reco::TrackCollection > inputTrkToken_
edm::InputTag L1IsoCollTag_
Abs< T >::type abs(const T &t)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
ParameterDescriptionBase * add(U const &iLabel, T const &value)
static void makeHLTFilterDescription(edm::ParameterSetDescription &desc)
void addCollectionTag(const edm::InputTag &collectionTag)
collectionTags
void add(std::string const &label, ParameterSetDescription const &psetDescription)
iterator find(key_type k)
edm::InputTag L1NonIsoCollTag_