CMS 3D CMS Logo

L2TauRelaxingIsolationSelector Class Reference

#include <RecoTauTag/HLTProducers/interface/L2TauRelaxingIsolationSelector.h>

Inheritance diagram for L2TauRelaxingIsolationSelector:

edm::EDProducer edm::ProducerBase edm::ProductRegistryHelper

List of all members.

Public Member Functions

 L2TauRelaxingIsolationSelector (const edm::ParameterSet &)
 ~L2TauRelaxingIsolationSelector ()

Private Member Functions

virtual void beginJob (const edm::EventSetup &)
virtual void endJob ()
virtual void produce (edm::Event &, const edm::EventSetup &)

Private Attributes

edm::InputTag associationInput_
std::vector< double > drRMS_
std::vector< double > ecalIsolEt_
double et_
std::vector< double > etaRMS_
std::vector< double > nClusters_
std::vector< double > phiRMS_
double seedTowerEt_
std::vector< double > towerIsolEt_


Detailed Description

Definition at line 21 of file L2TauRelaxingIsolationSelector.h.


Constructor & Destructor Documentation

L2TauRelaxingIsolationSelector::L2TauRelaxingIsolationSelector ( const edm::ParameterSet iConfig  )  [explicit]

Definition at line 7 of file L2TauRelaxingIsolationSelector.cc.

00007                                                                                             :
00008   associationInput_(iConfig.getParameter<edm::InputTag>("L2InfoAssociation")),
00009   ecalIsolEt_(iConfig.getParameter<std::vector<double> >("EcalIsolationEt")),
00010   towerIsolEt_(iConfig.getParameter<std::vector<double> >("TowerIsolationEt")),
00011   nClusters_(iConfig.getParameter<std::vector<double> >("NumberOfClusters")),
00012   phiRMS_(iConfig.getParameter<std::vector<double> >("ClusterPhiRMS")),
00013   etaRMS_(iConfig.getParameter<std::vector<double> >("ClusterEtaRMS")),
00014   drRMS_(iConfig.getParameter<std::vector<double> >("ClusterDRRMS")),
00015   et_(iConfig.getParameter<double>("MinJetEt")),
00016   seedTowerEt_(iConfig.getParameter<double>("SeedTowerEt"))
00017 {
00018   produces<CaloJetCollection>("Isolated");
00019 }

L2TauRelaxingIsolationSelector::~L2TauRelaxingIsolationSelector (  ) 

Definition at line 22 of file L2TauRelaxingIsolationSelector.cc.

00023 {
00024 
00025 }


Member Function Documentation

void L2TauRelaxingIsolationSelector::beginJob ( const edm::EventSetup  )  [private, virtual]

Reimplemented from edm::EDProducer.

Definition at line 69 of file L2TauRelaxingIsolationSelector.cc.

00070 {
00071 }

void L2TauRelaxingIsolationSelector::endJob ( void   )  [private, virtual]

Reimplemented from edm::EDProducer.

Definition at line 75 of file L2TauRelaxingIsolationSelector.cc.

00075                                        {
00076 }

void L2TauRelaxingIsolationSelector::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
) [private, virtual]

Implements edm::EDProducer.

Definition at line 33 of file L2TauRelaxingIsolationSelector.cc.

References associationInput_, drRMS_, reco::L2TauIsolationInfo::ECALClusterDRRMS, reco::L2TauIsolationInfo::ECALClusterEtaRMS, reco::L2TauIsolationInfo::ECALClusterNClusters, reco::L2TauIsolationInfo::ECALClusterPhiRMS, reco::L2TauIsolationInfo::ECALIsolConeCut, ecalIsolEt_, reco::Particle::et(), et_, etaRMS_, edm::Event::getByLabel(), metsig::jet, nClusters_, p, phiRMS_, edm::Event::put(), reco::L2TauIsolationInfo::SeedTowerEt, seedTowerEt_, reco::L2TauIsolationInfo::TowerIsolConeCut, and towerIsolEt_.

00034 {
00035    using namespace edm;
00036    Handle<L2TauInfoAssociation> Imap;
00037 
00038    std::auto_ptr<CaloJetCollection> l2IsolCaloJets( new CaloJetCollection );
00039    iEvent.getByLabel(associationInput_ ,Imap); 
00040 
00041    if(Imap->size()>0)
00042          for(L2TauInfoAssociation::const_iterator p = Imap->begin();p!=Imap->end();++p)
00043            {
00044              //Retrieve The L2TauIsolationInfo Class from the AssociationMap
00045              const L2TauIsolationInfo l2info = p->val;
00046              //Retrieve the Jet
00047              const CaloJet jet =*(p->key);
00048              
00049              //If The Cuts are Satisfied
00050            if(jet.et()>et_) 
00051              if(l2info.SeedTowerEt>seedTowerEt_)
00052                if(l2info.ECALIsolConeCut< ecalIsolEt_[0]+ecalIsolEt_[1]*jet.et()+ecalIsolEt_[2]*jet.et()*jet.et())
00053                  if(l2info.ECALClusterNClusters <(int)(nClusters_[0]+nClusters_[1]*jet.et()+nClusters_[2]*jet.et()*jet.et()))
00054                    if(l2info.ECALClusterEtaRMS <etaRMS_[0]+etaRMS_[1]*jet.et()+etaRMS_[2]*jet.et()*jet.et())
00055                      if(l2info.ECALClusterPhiRMS <phiRMS_[0]+phiRMS_[1]*jet.et()+phiRMS_[2]*jet.et()*jet.et())
00056                        if(l2info.ECALClusterDRRMS <drRMS_[0]+drRMS_[1]*jet.et()+drRMS_[2]*jet.et()*jet.et())
00057                          if(l2info.TowerIsolConeCut<towerIsolEt_[0]+towerIsolEt_[1]*jet.et()+towerIsolEt_[2]*jet.et()*jet.et())
00058                              {
00059                                l2IsolCaloJets->push_back(jet);
00060                              }
00061 
00062            }
00063  
00064         iEvent.put(l2IsolCaloJets, "Isolated");
00065 }


Member Data Documentation

edm::InputTag L2TauRelaxingIsolationSelector::associationInput_ [private]

Definition at line 33 of file L2TauRelaxingIsolationSelector.h.

Referenced by produce().

std::vector<double> L2TauRelaxingIsolationSelector::drRMS_ [private]

Definition at line 41 of file L2TauRelaxingIsolationSelector.h.

Referenced by produce().

std::vector<double> L2TauRelaxingIsolationSelector::ecalIsolEt_ [private]

Definition at line 36 of file L2TauRelaxingIsolationSelector.h.

Referenced by produce().

double L2TauRelaxingIsolationSelector::et_ [private]

Definition at line 44 of file L2TauRelaxingIsolationSelector.h.

Referenced by produce().

std::vector<double> L2TauRelaxingIsolationSelector::etaRMS_ [private]

Definition at line 40 of file L2TauRelaxingIsolationSelector.h.

Referenced by produce().

std::vector<double> L2TauRelaxingIsolationSelector::nClusters_ [private]

Definition at line 38 of file L2TauRelaxingIsolationSelector.h.

Referenced by produce().

std::vector<double> L2TauRelaxingIsolationSelector::phiRMS_ [private]

Definition at line 39 of file L2TauRelaxingIsolationSelector.h.

Referenced by produce().

double L2TauRelaxingIsolationSelector::seedTowerEt_ [private]

Definition at line 45 of file L2TauRelaxingIsolationSelector.h.

Referenced by produce().

std::vector<double> L2TauRelaxingIsolationSelector::towerIsolEt_ [private]

Definition at line 37 of file L2TauRelaxingIsolationSelector.h.

Referenced by produce().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:27:11 2009 for CMSSW by  doxygen 1.5.4