CMS 3D CMS Logo

Public Member Functions | Private Member Functions | Private Attributes

TopLeptonTauFilter Class Reference

#include <TopLeptonTauFilter.h>

Inheritance diagram for TopLeptonTauFilter:
edm::EDFilter edm::ProducerBase edm::ProductRegistryHelper

List of all members.

Public Member Functions

virtual void endJob ()
virtual bool filter (edm::Event &, const edm::EventSetup &)
 TopLeptonTauFilter (const edm::ParameterSet &)
 ~TopLeptonTauFilter ()

Private Member Functions

bool electronFilter (edm::Event &, const edm::EventSetup &)
bool jetFilter (edm::Event &, const edm::EventSetup &)
bool muonFilter (edm::Event &, const edm::EventSetup &)
bool tauFilter (edm::Event &, const edm::EventSetup &)

Private Attributes

double CaloJetPtmin_
edm::InputTag CaloJetsrc_
bool ElecFilter_
double ElecPtmin_
edm::InputTag Elecsrc_
bool JetFilter_
bool MuonFilter_
double MuonPtmin_
edm::InputTag Muonsrc_
unsigned int nAccepted_
unsigned int nEvents_
int NminCaloJet_
int NminElec_
int NminMuon_
int NminTau_
bool TauFilter_
double TauPtmin_
edm::InputTag Tausrc_

Detailed Description

Top DiLepton (e,mu,tau) skimming default pt thresholds (lepton and jets) set to 15 GeV default eta thresholds (lepton and jets) set to 3 At least two leptons and two jets present for each channel

Date:
2010/07/30 02:51:56
Revision:
1.14
Author:
Michele Gallinaro and Nuno Almeida - LIP

Top DiLepton (e,mu,tau) skimming default pt thresholds (lepton and jets) set to 15 GeV default eta thresholds (lepton and jets) set to 3 At least two leptons and two jets present for each channel

Date:
2010/02/11 00:15:15
Revision:
1.2
Author:
Michele Gallinaro and Nuno Almeida - LIP

Definition at line 25 of file TopLeptonTauFilter.h.


Constructor & Destructor Documentation

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

Definition at line 50 of file TopLeptonTauFilter.cc.

References CaloJetPtmin_, CaloJetsrc_, ElecFilter_, ElecPtmin_, Elecsrc_, edm::ParameterSet::getParameter(), JetFilter_, MuonFilter_, MuonPtmin_, Muonsrc_, NminCaloJet_, NminElec_, NminMuon_, NminTau_, TauFilter_, TauPtmin_, and Tausrc_.

                                                                       :
  nEvents_(0), nAccepted_(0)
{

  ElecFilter_ = iConfig.getParameter<bool>( "ElecFilter" );
  MuonFilter_ = iConfig.getParameter<bool>( "MuonFilter" );
  TauFilter_  = iConfig.getParameter<bool>( "TauFilter" );
  JetFilter_  = iConfig.getParameter<bool>( "JetFilter" );
   
  Elecsrc_    = iConfig.getParameter<edm::InputTag>( "Elecsrc" );
  Muonsrc_    = iConfig.getParameter<edm::InputTag>( "Muonsrc" );
  Tausrc_     = iConfig.getParameter<edm::InputTag>( "Tausrc" );
  CaloJetsrc_ = iConfig.getParameter<edm::InputTag>( "CaloJetsrc" );
  
  NminMuon_     = iConfig.getParameter<int>( "NminMuon" );
  NminTau_      = iConfig.getParameter<int>( "NminTau" );
  NminElec_     = iConfig.getParameter<int>( "NminElec" );
  NminCaloJet_  = iConfig.getParameter<int>( "NminCaloJet" );
  
  ElecPtmin_    = iConfig.getParameter<double>( "ElecPtmin" );
  MuonPtmin_    = iConfig.getParameter<double>( "MuonPtmin" );
  TauPtmin_     = iConfig.getParameter<double>( "TauLeadTkPtmin" );
  CaloJetPtmin_ = iConfig.getParameter<double>( "CaloJetPtmin" );
  
}
TopLeptonTauFilter::~TopLeptonTauFilter ( )

Definition at line 78 of file TopLeptonTauFilter.cc.

{}

Member Function Documentation

bool TopLeptonTauFilter::electronFilter ( edm::Event iEvent,
const edm::EventSetup iSetup 
) [private]

Definition at line 101 of file TopLeptonTauFilter.cc.

References ElecPtmin_, Elecsrc_, edm::Event::getByLabel(), and NminElec_.

Referenced by filter().

          {

  // dealing with electrons
  edm::Handle<reco::GsfElectronCollection> ElecHandle;
  iEvent.getByLabel( Elecsrc_, ElecHandle );
  if ( ElecHandle->empty() && NminElec_!=0 ) return false;
  reco::GsfElectronCollection TheElecs = *ElecHandle;
  std::stable_sort( TheElecs.begin(), TheElecs.end(), PtSorter() );
  
  int nElec = 0;
  for ( reco::GsfElectronCollection::const_iterator it = TheElecs.begin();
        it != TheElecs.end(); it++ ) {
    if ( (it->pt() > ElecPtmin_) 
         && (fabs(it->eta()) < 3.0) ) {
       nElec++;
    }
  }
  if ( nElec < NminElec_ ) return false;
  
     
  return true;
}
void TopLeptonTauFilter::endJob ( void  ) [virtual]

Reimplemented from edm::EDFilter.

Definition at line 210 of file TopLeptonTauFilter.cc.

References nAccepted_, and nEvents_.

{

//  edm::LogVerbatim( "TopLeptonTauFilter" ) 
   edm::LogInfo( "TopLeptonTauFilter" )
    << "\n Events read " << nEvents_
    << " Events accepted " << nAccepted_
    << "\nEfficiency " << (double)(nAccepted_)/(double)(nEvents_) 
    << std::endl;

}
bool TopLeptonTauFilter::filter ( edm::Event iEvent,
const edm::EventSetup iSetup 
) [virtual]

Implements edm::EDFilter.

Definition at line 83 of file TopLeptonTauFilter.cc.

References ElecFilter_, electronFilter(), jetFilter(), JetFilter_, muonFilter(), MuonFilter_, nAccepted_, nEvents_, tauFilter(), and TauFilter_.

{

  bool filterResult(true);
  nEvents_++;

  if(ElecFilter_){ filterResult = electronFilter(iEvent,iSetup); }
  if(MuonFilter_){ filterResult = muonFilter(iEvent,iSetup); }
  if(TauFilter_) { filterResult = tauFilter(iEvent,iSetup); }
  if(JetFilter_) { filterResult = jetFilter(iEvent,iSetup); }
  
  if (filterResult) nAccepted_++;
  
  return filterResult;
}
bool TopLeptonTauFilter::jetFilter ( edm::Event iEvent,
const edm::EventSetup iSetup 
) [private]

Definition at line 185 of file TopLeptonTauFilter.cc.

References CaloJetPtmin_, CaloJetsrc_, edm::Event::getByLabel(), and NminCaloJet_.

Referenced by filter().

          {

  edm::Handle<reco::CaloJetCollection> CaloJetsHandle;
  iEvent.getByLabel( CaloJetsrc_, CaloJetsHandle );
  if ( CaloJetsHandle->empty() && NminCaloJet_!=0 ) return false;

  int nJet = 0;
  for ( reco::CaloJetCollection::const_iterator it = CaloJetsHandle->begin(); 
        it != CaloJetsHandle->end(); it++ ) {
    if ( (fabs(it->eta()) < 3.0) &&
         (it->pt() > CaloJetPtmin_) ) nJet++;
  }
  
  if ( nJet < NminCaloJet_ ) return false;
  
  return true;

}
bool TopLeptonTauFilter::muonFilter ( edm::Event iEvent,
const edm::EventSetup iSetup 
) [private]

Definition at line 125 of file TopLeptonTauFilter.cc.

References edm::Event::getByLabel(), MuonPtmin_, Muonsrc_, nAccepted_, and NminMuon_.

Referenced by filter().

          {

  edm::Handle<reco::MuonCollection> MuonHandle;
  iEvent.getByLabel( Muonsrc_, MuonHandle );
  if ( MuonHandle->empty() && NminMuon_!=0 ) return false;
  reco::MuonCollection TheMuons = *MuonHandle;
  std::stable_sort( TheMuons.begin(), TheMuons.end(), PtSorter() );
  
  int nMuon = 0;

  
  for ( reco::MuonCollection::const_iterator it = TheMuons.begin();
        it != TheMuons.end(); it++ ) {
    if ( (it->pt() > MuonPtmin_) 
         && (fabs(it->eta()) < 3.0) ) {
      nMuon++;
    }
  }
  
  if ( nMuon < NminMuon_ ) return false;
    
  nAccepted_++;

  return true;
}
bool TopLeptonTauFilter::tauFilter ( edm::Event iEvent,
const edm::EventSetup iSetup 
) [private]

Definition at line 154 of file TopLeptonTauFilter.cc.

References edm::Event::getByLabel(), NminTau_, edm::Handle< T >::product(), TauPtmin_, and Tausrc_.

Referenced by filter().

          {

  edm::Handle<reco::BaseTauCollection> TauHandle;
  iEvent.getByLabel(Tausrc_,TauHandle);
  const reco::BaseTauCollection& myTauCollection=*(TauHandle.product());
  if ( myTauCollection.empty() && NminTau_!=0 ) return false;
  
  int nTau = 0;
  for(reco::BaseTauCollection::const_iterator it =myTauCollection.begin();it !=myTauCollection.end();it++)
    {
      reco::TrackRef theLeadTk = it->leadTrack();
      if(!theLeadTk) {}
      else{
        double leadTkPt  = (*theLeadTk).pt();
        double leadTkEta = (*theLeadTk).eta();

        if ( (leadTkPt> TauPtmin_)
         && (fabs(leadTkEta) < 2.4) ) {
          nTau++;
        }
      }
    }
  if ( nTau < NminTau_ ) return false;
       
  return true;
}

Member Data Documentation

Definition at line 46 of file TopLeptonTauFilter.h.

Referenced by jetFilter(), and TopLeptonTauFilter().

Definition at line 43 of file TopLeptonTauFilter.h.

Referenced by jetFilter(), and TopLeptonTauFilter().

Definition at line 48 of file TopLeptonTauFilter.h.

Referenced by filter(), and TopLeptonTauFilter().

Definition at line 46 of file TopLeptonTauFilter.h.

Referenced by electronFilter(), and TopLeptonTauFilter().

Definition at line 40 of file TopLeptonTauFilter.h.

Referenced by electronFilter(), and TopLeptonTauFilter().

Definition at line 48 of file TopLeptonTauFilter.h.

Referenced by filter(), and TopLeptonTauFilter().

Definition at line 48 of file TopLeptonTauFilter.h.

Referenced by filter(), and TopLeptonTauFilter().

Definition at line 46 of file TopLeptonTauFilter.h.

Referenced by muonFilter(), and TopLeptonTauFilter().

Definition at line 41 of file TopLeptonTauFilter.h.

Referenced by muonFilter(), and TopLeptonTauFilter().

unsigned int TopLeptonTauFilter::nAccepted_ [private]

Definition at line 51 of file TopLeptonTauFilter.h.

Referenced by endJob(), filter(), and muonFilter().

unsigned int TopLeptonTauFilter::nEvents_ [private]

Definition at line 50 of file TopLeptonTauFilter.h.

Referenced by endJob(), and filter().

Definition at line 45 of file TopLeptonTauFilter.h.

Referenced by jetFilter(), and TopLeptonTauFilter().

Definition at line 45 of file TopLeptonTauFilter.h.

Referenced by electronFilter(), and TopLeptonTauFilter().

Definition at line 45 of file TopLeptonTauFilter.h.

Referenced by muonFilter(), and TopLeptonTauFilter().

Definition at line 45 of file TopLeptonTauFilter.h.

Referenced by tauFilter(), and TopLeptonTauFilter().

Definition at line 48 of file TopLeptonTauFilter.h.

Referenced by filter(), and TopLeptonTauFilter().

Definition at line 46 of file TopLeptonTauFilter.h.

Referenced by tauFilter(), and TopLeptonTauFilter().

Definition at line 42 of file TopLeptonTauFilter.h.

Referenced by tauFilter(), and TopLeptonTauFilter().