CMS 3D CMS Logo

Public Member Functions | Private Member Functions | Private Attributes

L2TauRelaxingIsolationSelector Class Reference

#include <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 ()
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.

                                                                                            :
  associationInput_(iConfig.getParameter<edm::InputTag>("L2InfoAssociation")),
  ecalIsolEt_(iConfig.getParameter<std::vector<double> >("EcalIsolationEt")),
  towerIsolEt_(iConfig.getParameter<std::vector<double> >("TowerIsolationEt")),
  nClusters_(iConfig.getParameter<std::vector<double> >("NumberOfClusters")),
  phiRMS_(iConfig.getParameter<std::vector<double> >("ClusterPhiRMS")),
  etaRMS_(iConfig.getParameter<std::vector<double> >("ClusterEtaRMS")),
  drRMS_(iConfig.getParameter<std::vector<double> >("ClusterDRRMS")),
  et_(iConfig.getParameter<double>("MinJetEt")),
  seedTowerEt_(iConfig.getParameter<double>("SeedTowerEt"))
{
  produces<CaloJetCollection>("Isolated");
}
L2TauRelaxingIsolationSelector::~L2TauRelaxingIsolationSelector ( )

Definition at line 22 of file L2TauRelaxingIsolationSelector.cc.

{

}

Member Function Documentation

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

Reimplemented from edm::EDProducer.

Definition at line 69 of file L2TauRelaxingIsolationSelector.cc.

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

Reimplemented from edm::EDProducer.

Definition at line 75 of file L2TauRelaxingIsolationSelector.cc.

                                       {
}
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::ecalClusterShape(), reco::L2TauIsolationInfo::ecalIsolEt(), ecalIsolEt_, reco::LeafCandidate::et(), et_, etaRMS_, edm::Event::getByLabel(), reco::L2TauIsolationInfo::hcalIsolEt(), metsig::jet, nClusters_, reco::L2TauIsolationInfo::nEcalHits(), L1TEmulatorMonitor_cff::p, phiRMS_, edm::Event::put(), reco::L2TauIsolationInfo::seedHcalHitEt(), seedTowerEt_, and towerIsolEt_.

{
   using namespace edm;
   edm::Handle<L2TauInfoAssociation> Imap;

   std::auto_ptr<CaloJetCollection> l2IsolCaloJets( new CaloJetCollection );
   iEvent.getByLabel(associationInput_ ,Imap); 

   if(Imap->size()>0)
         for(L2TauInfoAssociation::const_iterator p = Imap->begin();p!=Imap->end();++p)
           {
             //Retrieve The L2TauIsolationInfo Class from the AssociationMap
             const L2TauIsolationInfo l2info = p->val;
             //Retrieve the Jet
             const CaloJet jet =*(p->key);
             
             //If The Cuts are Satisfied
           if(jet.et()>et_) 
             if(l2info.seedHcalHitEt()>seedTowerEt_)
               if(l2info.ecalIsolEt()< ecalIsolEt_[0]+ecalIsolEt_[1]*jet.et()+ecalIsolEt_[2]*jet.et()*jet.et())
                 if(l2info.nEcalHits() <(int)(nClusters_[0]+nClusters_[1]*jet.et()+nClusters_[2]*jet.et()*jet.et()))
                   if(l2info.ecalClusterShape()[0] <etaRMS_[0]+etaRMS_[1]*jet.et()+etaRMS_[2]*jet.et()*jet.et())
                     if(l2info.ecalClusterShape()[1] <phiRMS_[0]+phiRMS_[1]*jet.et()+phiRMS_[2]*jet.et()*jet.et())
                       if(l2info.ecalClusterShape()[2] <drRMS_[0]+drRMS_[1]*jet.et()+drRMS_[2]*jet.et()*jet.et())
                         if(l2info.hcalIsolEt()<towerIsolEt_[0]+towerIsolEt_[1]*jet.et()+towerIsolEt_[2]*jet.et()*jet.et())
                             {
                               l2IsolCaloJets->push_back(jet);
                             }

           }
 
        iEvent.put(l2IsolCaloJets, "Isolated");
}

Member Data Documentation

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().

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().

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().