CMS 3D CMS Logo

Public Member Functions | Private Member Functions | Private Attributes

L2TauModularIsolationSelector Class Reference

#include <L2TauModularIsolationSelector.h>

Inheritance diagram for L2TauModularIsolationSelector:
edm::EDProducer edm::ProducerBase edm::ProductRegistryHelper

List of all members.

Public Member Functions

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

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 > ecalClusterDrRMS_
std::vector< double > ecalClusterEtaRMS_
std::vector< double > ecalClusterPhiRMS_
std::vector< double > ecalIsolEt_
double et_
std::vector< double > hcalClusterDrRMS_
std::vector< double > hcalClusterEtaRMS_
std::vector< double > hcalClusterPhiRMS_
std::vector< double > hcalIsolEt_
std::vector< double > nEcalClusters_
std::vector< double > nHcalClusters_
double seedTowerEt_

Detailed Description

Definition at line 21 of file L2TauModularIsolationSelector.h.


Constructor & Destructor Documentation

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

Definition at line 7 of file L2TauModularIsolationSelector.cc.

                                                                                          :
  associationInput_(iConfig.getParameter<edm::InputTag>("L2InfoAssociation")),

  ecalIsolEt_(iConfig.getParameter<std::vector<double> >("EcalIsolationEt")),
  nEcalClusters_(iConfig.getParameter<std::vector<double> >("NumberOfECALClusters")),
  ecalClusterPhiRMS_(iConfig.getParameter<std::vector<double> >("ECALClusterPhiRMS")),
  ecalClusterEtaRMS_(iConfig.getParameter<std::vector<double> >("ECALClusterEtaRMS")),
  ecalClusterDrRMS_(iConfig.getParameter<std::vector<double> >("ECALClusterDRRMS")),
  hcalIsolEt_(iConfig.getParameter<std::vector<double> >("HcalIsolationEt")),
  nHcalClusters_(iConfig.getParameter<std::vector<double> >("NumberOfHCALClusters")),
  hcalClusterPhiRMS_(iConfig.getParameter<std::vector<double> >("HCALClusterPhiRMS")),
  hcalClusterEtaRMS_(iConfig.getParameter<std::vector<double> >("HCALClusterEtaRMS")),
  hcalClusterDrRMS_(iConfig.getParameter<std::vector<double> >("HCALClusterDRRMS")),
  et_(iConfig.getParameter<double>("MinJetEt")),
  seedTowerEt_(iConfig.getParameter<double>("SeedTowerEt"))
{
  produces<CaloJetCollection>("Isolated");
}
L2TauModularIsolationSelector::~L2TauModularIsolationSelector ( )

Definition at line 27 of file L2TauModularIsolationSelector.cc.

{

}

Member Function Documentation

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

Reimplemented from edm::EDProducer.

Definition at line 78 of file L2TauModularIsolationSelector.cc.

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

Reimplemented from edm::EDProducer.

Definition at line 84 of file L2TauModularIsolationSelector.cc.

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

Implements edm::EDProducer.

Definition at line 38 of file L2TauModularIsolationSelector.cc.

References associationInput_, ecalClusterDrRMS_, ecalClusterEtaRMS_, ecalClusterPhiRMS_, reco::L2TauIsolationInfo::ecalClusterShape(), reco::L2TauIsolationInfo::ecalIsolEt(), ecalIsolEt_, reco::LeafCandidate::et(), et_, edm::Event::getByLabel(), hcalClusterDrRMS_, hcalClusterEtaRMS_, hcalClusterPhiRMS_, reco::L2TauIsolationInfo::hcalClusterShape(), reco::L2TauIsolationInfo::hcalIsolEt(), hcalIsolEt_, metsig::jet, nEcalClusters_, reco::L2TauIsolationInfo::nEcalHits(), nHcalClusters_, reco::L2TauIsolationInfo::nHcalHits(), L1TEmulatorMonitor_cff::p, edm::Event::put(), reco::L2TauIsolationInfo::seedHcalHitEt(), and seedTowerEt_.

{
   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)(nEcalClusters_[0]+nEcalClusters_[1]*jet.et()+nEcalClusters_[2]*jet.et()*jet.et()))
                   if(l2info.ecalClusterShape()[0] <ecalClusterEtaRMS_[0]+ecalClusterEtaRMS_[1]*jet.et()+ecalClusterEtaRMS_[2]*jet.et()*jet.et())
                     if(l2info.ecalClusterShape()[1] <ecalClusterPhiRMS_[0]+ecalClusterPhiRMS_[1]*jet.et()+ecalClusterPhiRMS_[2]*jet.et()*jet.et())
                       if(l2info.ecalClusterShape()[2] <ecalClusterDrRMS_[0]+ecalClusterDrRMS_[1]*jet.et()+ecalClusterDrRMS_[2]*jet.et()*jet.et())
                         if(l2info.hcalIsolEt()<hcalIsolEt_[0]+hcalIsolEt_[1]*jet.et()+hcalIsolEt_[2]*jet.et()*jet.et())
                           if(l2info.nHcalHits() <(int)(nHcalClusters_[0]+nHcalClusters_[1]*jet.et()+nHcalClusters_[2]*jet.et()*jet.et()))
                             if(l2info.hcalClusterShape()[0] <hcalClusterEtaRMS_[0]+hcalClusterEtaRMS_[1]*jet.et()+hcalClusterEtaRMS_[2]*jet.et()*jet.et())
                               if(l2info.hcalClusterShape()[1] <hcalClusterPhiRMS_[0]+hcalClusterPhiRMS_[1]*jet.et()+hcalClusterPhiRMS_[2]*jet.et()*jet.et())
                                 if(l2info.hcalClusterShape()[2] <hcalClusterDrRMS_[0]+hcalClusterDrRMS_[1]*jet.et()+hcalClusterDrRMS_[2]*jet.et()*jet.et())
                                   {
                                     l2IsolCaloJets->push_back(jet);
                                   }

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

Member Data Documentation

Definition at line 33 of file L2TauModularIsolationSelector.h.

Referenced by produce().

std::vector<double> L2TauModularIsolationSelector::ecalClusterDrRMS_ [private]

Definition at line 42 of file L2TauModularIsolationSelector.h.

Referenced by produce().

Definition at line 41 of file L2TauModularIsolationSelector.h.

Referenced by produce().

Definition at line 40 of file L2TauModularIsolationSelector.h.

Referenced by produce().

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

Definition at line 37 of file L2TauModularIsolationSelector.h.

Referenced by produce().

Definition at line 55 of file L2TauModularIsolationSelector.h.

Referenced by produce().

std::vector<double> L2TauModularIsolationSelector::hcalClusterDrRMS_ [private]

Definition at line 51 of file L2TauModularIsolationSelector.h.

Referenced by produce().

Definition at line 50 of file L2TauModularIsolationSelector.h.

Referenced by produce().

Definition at line 49 of file L2TauModularIsolationSelector.h.

Referenced by produce().

std::vector<double> L2TauModularIsolationSelector::hcalIsolEt_ [private]

Definition at line 46 of file L2TauModularIsolationSelector.h.

Referenced by produce().

std::vector<double> L2TauModularIsolationSelector::nEcalClusters_ [private]

Definition at line 39 of file L2TauModularIsolationSelector.h.

Referenced by produce().

std::vector<double> L2TauModularIsolationSelector::nHcalClusters_ [private]

Definition at line 48 of file L2TauModularIsolationSelector.h.

Referenced by produce().

Definition at line 56 of file L2TauModularIsolationSelector.h.

Referenced by produce().