Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Running code-format for hlt #26840

Merged
merged 2 commits into from May 23, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
166 changes: 84 additions & 82 deletions HLTrigger/Egamma/plugins/HLTDisplacedEgammaFilter.cc
Expand Up @@ -19,65 +19,62 @@
//
// constructors and destructor
//
HLTDisplacedEgammaFilter::HLTDisplacedEgammaFilter(const edm::ParameterSet& iConfig) : HLTFilter(iConfig)
{
inputTag_ = iConfig.getParameter< edm::InputTag > ("inputTag");
ncandcut_ = iConfig.getParameter<int> ("ncandcut");
l1EGTag_ = iConfig.getParameter< edm::InputTag > ("l1EGCand");

inputTrk = iConfig.getParameter< edm::InputTag > ("inputTrack");
trkPtCut = iConfig.getParameter<double> ("trackPtCut");
trkdRCut = iConfig.getParameter<double> ("trackdRCut");
maxTrkCut = iConfig.getParameter<int> ("maxTrackCut");

rechitsEB = iConfig.getParameter< edm::InputTag > ("RecHitsEB");
rechitsEE = iConfig.getParameter< edm::InputTag > ("RecHitsEE");

EBOnly = iConfig.getParameter<bool> ("EBOnly") ;
sMin_min = iConfig.getParameter<double> ("sMin_min");
sMin_max = iConfig.getParameter<double> ("sMin_max");
sMaj_min = iConfig.getParameter<double> ("sMaj_min");
sMaj_max = iConfig.getParameter<double> ("sMaj_max");
seedTimeMin = iConfig.getParameter<double> ("seedTimeMin");
seedTimeMax = iConfig.getParameter<double> ("seedTimeMax");

inputToken_ = consumes<trigger::TriggerFilterObjectWithRefs> (inputTag_);
HLTDisplacedEgammaFilter::HLTDisplacedEgammaFilter(const edm::ParameterSet& iConfig) : HLTFilter(iConfig) {
inputTag_ = iConfig.getParameter<edm::InputTag>("inputTag");
ncandcut_ = iConfig.getParameter<int>("ncandcut");
l1EGTag_ = iConfig.getParameter<edm::InputTag>("l1EGCand");

inputTrk = iConfig.getParameter<edm::InputTag>("inputTrack");
trkPtCut = iConfig.getParameter<double>("trackPtCut");
trkdRCut = iConfig.getParameter<double>("trackdRCut");
maxTrkCut = iConfig.getParameter<int>("maxTrackCut");

rechitsEB = iConfig.getParameter<edm::InputTag>("RecHitsEB");
rechitsEE = iConfig.getParameter<edm::InputTag>("RecHitsEE");

EBOnly = iConfig.getParameter<bool>("EBOnly");
sMin_min = iConfig.getParameter<double>("sMin_min");
sMin_max = iConfig.getParameter<double>("sMin_max");
sMaj_min = iConfig.getParameter<double>("sMaj_min");
sMaj_max = iConfig.getParameter<double>("sMaj_max");
seedTimeMin = iConfig.getParameter<double>("seedTimeMin");
seedTimeMax = iConfig.getParameter<double>("seedTimeMax");

inputToken_ = consumes<trigger::TriggerFilterObjectWithRefs>(inputTag_);
rechitsEBToken_ = consumes<EcalRecHitCollection>(rechitsEB);
rechitsEEToken_ = consumes<EcalRecHitCollection>(rechitsEE);
inputTrkToken_ = consumes<reco::TrackCollection>(inputTrk);

inputTrkToken_ = consumes<reco::TrackCollection>(inputTrk);
}

HLTDisplacedEgammaFilter::~HLTDisplacedEgammaFilter()= default;

void
HLTDisplacedEgammaFilter::fillDescriptions(edm::ConfigurationDescriptions& descriptions) {
edm::ParameterSetDescription desc;
makeHLTFilterDescription(desc);
desc.add<edm::InputTag>("inputTag", edm::InputTag("hltEGRegionalL1SingleEG22"));
desc.add<edm::InputTag>("l1EGCand", edm::InputTag("hltL1IsoRecoEcalCandidate"));
desc.add<edm::InputTag>("RecHitsEB", edm::InputTag("hltEcalRecHit", "EcalRecHitsEB"));
desc.add<edm::InputTag>("RecHitsEE", edm::InputTag("hltEcalRecHit", "EcalRecHitsEE"));
desc.add<edm::InputTag>("inputTrack", edm::InputTag("hltL1SeededEgammaRegionalCTFFinalFitWithMaterial"));
desc.add<int>("ncandcut", 1);
desc.add<bool>("EBOnly", false);
desc.add<double>("sMin_min", 0.1);
desc.add<double>("sMin_max", 0.4);
desc.add<double>("sMaj_min", 0.0);
desc.add<double>("sMaj_max", 999.0);
desc.add<double>("seedTimeMin", -25.0);
desc.add<double>("seedTimeMax", 25.0);
desc.add<int>("maxTrackCut", 0);
desc.add<double>("trackPtCut", 3.0);
desc.add<double>("trackdRCut", 0.5);
descriptions.add("hltDisplacedEgammaFilter", desc);
HLTDisplacedEgammaFilter::~HLTDisplacedEgammaFilter() = default;

void HLTDisplacedEgammaFilter::fillDescriptions(edm::ConfigurationDescriptions& descriptions) {
edm::ParameterSetDescription desc;
makeHLTFilterDescription(desc);
desc.add<edm::InputTag>("inputTag", edm::InputTag("hltEGRegionalL1SingleEG22"));
desc.add<edm::InputTag>("l1EGCand", edm::InputTag("hltL1IsoRecoEcalCandidate"));
desc.add<edm::InputTag>("RecHitsEB", edm::InputTag("hltEcalRecHit", "EcalRecHitsEB"));
desc.add<edm::InputTag>("RecHitsEE", edm::InputTag("hltEcalRecHit", "EcalRecHitsEE"));
desc.add<edm::InputTag>("inputTrack", edm::InputTag("hltL1SeededEgammaRegionalCTFFinalFitWithMaterial"));
desc.add<int>("ncandcut", 1);
desc.add<bool>("EBOnly", false);
desc.add<double>("sMin_min", 0.1);
desc.add<double>("sMin_max", 0.4);
desc.add<double>("sMaj_min", 0.0);
desc.add<double>("sMaj_max", 999.0);
desc.add<double>("seedTimeMin", -25.0);
desc.add<double>("seedTimeMax", 25.0);
desc.add<int>("maxTrackCut", 0);
desc.add<double>("trackPtCut", 3.0);
desc.add<double>("trackdRCut", 0.5);
descriptions.add("hltDisplacedEgammaFilter", desc);
}

// ------------ method called to produce the data ------------

bool
HLTDisplacedEgammaFilter::hltFilter(edm::Event& iEvent, const edm::EventSetup& iSetup, trigger::TriggerFilterObjectWithRefs & filterproduct) const
{
bool HLTDisplacedEgammaFilter::hltFilter(edm::Event& iEvent,
const edm::EventSetup& iSetup,
trigger::TriggerFilterObjectWithRefs& filterproduct) const {
using namespace trigger;

// The filter object
Expand All @@ -88,68 +85,73 @@ HLTDisplacedEgammaFilter::hltFilter(edm::Event& iEvent, const edm::EventSetup& i
// get hold of filtered candidates
//edm::Handle<reco::HLTFilterObjectWithRefs> recoecalcands;
edm::Handle<trigger::TriggerFilterObjectWithRefs> PrevFilterOutput;
iEvent.getByToken (inputToken_,PrevFilterOutput);
iEvent.getByToken(inputToken_, PrevFilterOutput);

// get hold of collection of objects
edm::Handle<reco::TrackCollection> tracks;
iEvent.getByToken( inputTrkToken_ , tracks);
iEvent.getByToken(inputTrkToken_, tracks);

// get the EcalRecHit
edm::Handle<EcalRecHitCollection> rechitsEB_ ;
edm::Handle<EcalRecHitCollection> rechitsEE_ ;
iEvent.getByToken( rechitsEBToken_, rechitsEB_ );
iEvent.getByToken( rechitsEEToken_, rechitsEE_ );
edm::Handle<EcalRecHitCollection> rechitsEB_;
edm::Handle<EcalRecHitCollection> rechitsEE_;
iEvent.getByToken(rechitsEBToken_, rechitsEB_);
iEvent.getByToken(rechitsEEToken_, rechitsEE_);

std::vector<edm::Ref<reco::RecoEcalCandidateCollection> > recoecalcands;
PrevFilterOutput->getObjects(TriggerCluster, recoecalcands);
if(recoecalcands.empty()) PrevFilterOutput->getObjects(TriggerPhoton, recoecalcands);

if (recoecalcands.empty())
PrevFilterOutput->getObjects(TriggerPhoton, recoecalcands);

// look at all candidates, check cuts and add to filter object
int n(0);

for (auto const & ref : recoecalcands) {

if ( EBOnly && std::abs( ref->eta() ) >= 1.479 ) continue ;

for (auto const& ref : recoecalcands) {
if (EBOnly && std::abs(ref->eta()) >= 1.479)
continue;

// S_Minor Cuts from the seed cluster
reco::CaloClusterPtr SCseed = ref->superCluster()->seed() ;
const EcalRecHitCollection* rechits = ( std::abs( ref->eta() ) < 1.479 ) ? rechitsEB_.product() : rechitsEE_.product() ;
reco::CaloClusterPtr SCseed = ref->superCluster()->seed();
const EcalRecHitCollection* rechits = (std::abs(ref->eta()) < 1.479) ? rechitsEB_.product() : rechitsEE_.product();

Cluster2ndMoments moments = EcalClusterTools::cluster2ndMoments(*SCseed, *rechits);
float sMin = moments.sMin ;
float sMaj = moments.sMaj ;
if ( sMin < sMin_min || sMin > sMin_max ) continue ;
if ( sMaj < sMaj_min || sMaj > sMaj_max ) continue ;
float sMin = moments.sMin;
float sMaj = moments.sMaj;
if (sMin < sMin_min || sMin > sMin_max)
continue;
if (sMaj < sMaj_min || sMaj > sMaj_max)
continue;

// seed Time
std::pair<DetId, float> maxRH = EcalClusterTools::getMaximum( *SCseed, rechits );
std::pair<DetId, float> maxRH = EcalClusterTools::getMaximum(*SCseed, rechits);
DetId seedCrystalId = maxRH.first;
auto seedRH = rechits->find(seedCrystalId);
float seedTime = (float)seedRH->time();
if ( seedTime < seedTimeMin || seedTime > seedTimeMax ) continue ;
if (seedTime < seedTimeMin || seedTime > seedTimeMax)
continue;

//Track Veto

int nTrk = 0 ;
for (auto const & it : *tracks) {
if ( it.pt() < trkPtCut ) continue ;
LorentzVector trkP4( it.px(), it.py(), it.pz(), it.p() ) ;
double dR = ROOT::Math::VectorUtil::DeltaR( trkP4 , ref->p4() ) ;
if ( dR < trkdRCut ) nTrk++ ;
if ( nTrk > maxTrkCut ) break ;
int nTrk = 0;
for (auto const& it : *tracks) {
if (it.pt() < trkPtCut)
continue;
LorentzVector trkP4(it.px(), it.py(), it.pz(), it.p());
double dR = ROOT::Math::VectorUtil::DeltaR(trkP4, ref->p4());
if (dR < trkdRCut)
nTrk++;
if (nTrk > maxTrkCut)
break;
}
if ( nTrk > maxTrkCut ) continue ;

if (nTrk > maxTrkCut)
continue;

n++;
// std::cout << "Passed eta: " << ref->eta() << std::endl;
filterproduct.addObject(TriggerCluster, ref);
}


// filter decision
bool accept(n>=ncandcut_);
bool accept(n >= ncandcut_);

return accept;
}
Expand Down
63 changes: 32 additions & 31 deletions HLTrigger/Egamma/plugins/HLTDisplacedEgammaFilter.h
Expand Up @@ -21,36 +21,37 @@ typedef math::XYZTLorentzVector LorentzVector;
#include <Math/VectorUtil.h>

class HLTDisplacedEgammaFilter : public HLTFilter {

public:
explicit HLTDisplacedEgammaFilter(const edm::ParameterSet&);
~HLTDisplacedEgammaFilter() override;
static void fillDescriptions(edm::ConfigurationDescriptions & descriptions);
bool hltFilter(edm::Event&, const edm::EventSetup&, trigger::TriggerFilterObjectWithRefs & filterproduct) const override;

private:
edm::InputTag inputTag_; // input tag identifying product contains egammas
edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs> inputToken_;
int ncandcut_; // number of egammas required
edm::InputTag l1EGTag_;
edm::InputTag rechitsEB ;
edm::InputTag rechitsEE ;
edm::EDGetTokenT<EcalRecHitCollection> rechitsEBToken_;
edm::EDGetTokenT<EcalRecHitCollection> rechitsEEToken_;

bool EBOnly ;
double sMin_min ;
double sMin_max ;
double sMaj_min ;
double sMaj_max ;
double seedTimeMin ;
double seedTimeMax ;

edm::InputTag inputTrk ;
edm::EDGetTokenT<reco::TrackCollection> inputTrkToken_;
double trkPtCut ;
double trkdRCut ;
int maxTrkCut ;
public:
explicit HLTDisplacedEgammaFilter(const edm::ParameterSet&);
~HLTDisplacedEgammaFilter() override;
static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
bool hltFilter(edm::Event&,
const edm::EventSetup&,
trigger::TriggerFilterObjectWithRefs& filterproduct) const override;

private:
edm::InputTag inputTag_; // input tag identifying product contains egammas
edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs> inputToken_;
int ncandcut_; // number of egammas required
edm::InputTag l1EGTag_;
edm::InputTag rechitsEB;
edm::InputTag rechitsEE;
edm::EDGetTokenT<EcalRecHitCollection> rechitsEBToken_;
edm::EDGetTokenT<EcalRecHitCollection> rechitsEEToken_;

bool EBOnly;
double sMin_min;
double sMin_max;
double sMaj_min;
double sMaj_max;
double seedTimeMin;
double seedTimeMax;

edm::InputTag inputTrk;
edm::EDGetTokenT<reco::TrackCollection> inputTrkToken_;
double trkPtCut;
double trkdRCut;
int maxTrkCut;
};

#endif //HLTDisplacedEgammaFilter_h
#endif //HLTDisplacedEgammaFilter_h