26 if (tauMinDR_ < 0.1) tauMinDR_ = 0.1;
38 desc.
add<
double>(
"tauMinPt",5.0);
39 desc.
add<
double>(
"tauMaxEta",2.5);
40 desc.
add<
double>(
"tauMinDR",0.1);
41 desc.
add<
double>(
"tauLeadTrackMaxDZ",0.2);
43 descriptions.
add(
"hltPFTauPairLeadTrackDzMatchFilter",desc);
61 const size_t n_taus = taus.size();
64 size_t npairs = 0, nfail_dz = 0;
65 if(n_taus > 1)
for(
size_t t1 = 0; t1 < n_taus; ++t1) {
66 if( taus[t1].leadPFChargedHadrCand().isNull() ||
67 taus[t1].leadPFChargedHadrCand()->trackRef().isNull() ||
73 for(
size_t t2 = t1+1; t2 < n_taus; ++t2){
74 if( taus[t2].leadPFChargedHadrCand().isNull() ||
75 taus[t2].leadPFChargedHadrCand()->trackRef().isNull() ||
81 taus[t2].
eta(), taus[t2].
phi() );
82 float dz = ( taus[t1].leadPFChargedHadrCand()->trackRef()->vz() -
83 taus[t2].leadPFChargedHadrCand()->trackRef()->vz() );
T getParameter(std::string const &) const
std::vector< PFTau > PFTauCollection
collection of PFTau objects
bool hltFilter(edm::Event &ev, const edm::EventSetup &es, trigger::TriggerFilterObjectWithRefs &filterproduct) const override
bool getByToken(EDGetToken token, Handle< PROD > &result) const
HLTPFTauPairLeadTrackDzMatchFilter(const edm::ParameterSet &conf)
~HLTPFTauPairLeadTrackDzMatchFilter() override
double tauLeadTrackMaxDZ_
void addObject(int id, const reco::RecoEcalCandidateRef &ref)
setters for L3 collections: (id=physics type, and Ref<C>)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Abs< T >::type abs(const T &t)
edm::Ref< PFTauCollection > PFTauRef
presistent reference to a PFTau
ParameterDescriptionBase * add(U const &iLabel, T const &value)
constexpr auto deltaR2(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
static void makeHLTFilterDescription(edm::ParameterSetDescription &desc)
void addCollectionTag(const edm::InputTag &collectionTag)
collectionTags
void add(std::string const &label, ParameterSetDescription const &psetDescription)
edm::EDGetTokenT< reco::PFTauCollection > tauSrcToken_