CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
EFilter Class Reference

#include <EFilter.h>

Inheritance diagram for EFilter:
edm::stream::EDFilter<> edm::stream::EDFilterBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 EFilter (const edm::ParameterSet &)
 
 ~EFilter ()
 
- Public Member Functions inherited from edm::stream::EDFilter<>
 EDFilter ()=default
 
- Public Member Functions inherited from edm::stream::EDFilterBase
 EDFilterBase ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDFilterBase ()
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 ProducerBase ()
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription
const &)> 
registrationCallback () const
 used by the fwk to register list of products More...
 
virtual ~ProducerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Private Member Functions

virtual bool filter (edm::Event &, const edm::EventSetup &) override
 

Private Attributes

edm::EDGetTokenT< std::vector
< reco::PFSimParticle > > 
inputTagParticles_
 
double maxE_
 
double maxEt_
 
double minE_
 
double minEt_
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDFilter<>
typedef CacheContexts< T...> CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T...> HasAbility
 
typedef
CacheTypes::LuminosityBlockCache 
LuminosityBlockCache
 
typedef
LuminosityBlockContextT
< LuminosityBlockCache,
RunCache, GlobalCache
LuminosityBlockContext
 
typedef
CacheTypes::LuminosityBlockSummaryCache 
LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache,
GlobalCache
RunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Public Types inherited from edm::stream::EDFilterBase
typedef EDFilterAdaptorBase ModuleType
 
- Public Types inherited from edm::ProducerBase
typedef
ProductRegistryHelper::TypeLabelList 
TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::stream::EDFilterBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Detailed Description

Description: filters single particle events according to the energy of the mother particle

Definition at line 30 of file EFilter.h.

Constructor & Destructor Documentation

EFilter::EFilter ( const edm::ParameterSet iConfig)
explicit

Definition at line 33 of file EFilter.cc.

References edm::ParameterSet::getParameter(), and edm::ParameterSet::getUntrackedParameter().

33  {
34  //now do what ever initialization is needed
35 
36  inputTagParticles_ = consumes<std::vector<reco::PFSimParticle> >(iConfig.getParameter<InputTag>("particles"));
37 
38  minE_ = iConfig.getUntrackedParameter<double>("minE",-1);
39  maxE_ = iConfig.getUntrackedParameter<double>("maxE",999999);
40  minEt_ = iConfig.getUntrackedParameter<double>("minEt",-1);
41  maxEt_ = iConfig.getUntrackedParameter<double>("maxEt",999999);
42 
43  LogWarning("PFProducer")<<"EFilter : will filter particles with "
44  <<minE_<<" < E < "<<maxE_<<" and "<<minEt_<<" < Et <"<<maxEt_<<endl;
45 
46 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
double maxEt_
Definition: EFilter.h:49
double maxE_
Definition: EFilter.h:47
double minEt_
Definition: EFilter.h:48
double minE_
Definition: EFilter.h:46
edm::EDGetTokenT< std::vector< reco::PFSimParticle > > inputTagParticles_
Definition: EFilter.h:44
EFilter::~EFilter ( )

Definition at line 49 of file EFilter.cc.

49  {
50 
51  // do anything here that needs to be done at desctruction time
52  // (e.g. close files, deallocate resources etc.)
53  // delete mySimEvent;
54 
55 
56 }

Member Function Documentation

bool EFilter::filter ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivatevirtual

Implements edm::stream::EDFilterBase.

Definition at line 60 of file EFilter.cc.

References gather_cfg::cout, alignCSCRings::e, edm::Event::getByToken(), and reco::PFTrajectoryPoint::momentum().

61  {
62 
63 
64 
66  iEvent.getByToken(inputTagParticles_, particles);
67 
68  if( !particles->empty() ) {
69  // take first trajectory point of first particle (the mother)
70  const reco::PFTrajectoryPoint& tp = (*particles)[0].trajectoryPoint(0);
71 
72  const math::XYZTLorentzVector& mom = tp.momentum();
73 
74  double e = mom.E();
75  double et = mom.Et();
76 
77  if( e >= minE_ && e<= maxE_ &&
78  et>= minEt_ && et<= maxEt_ ) {
79  cout<<"ok "<<e<<endl;
80  return true;
81  }
82  else {
83  cout<<"bad "<<e<<endl;
84  return false;
85  }
86  }
87 
88 
89 
90  return true;
91 }
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:464
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
double maxEt_
Definition: EFilter.h:49
const math::XYZTLorentzVector & momentum() const
4-momenta quadrivector
double maxE_
Definition: EFilter.h:47
double minEt_
Definition: EFilter.h:48
tuple cout
Definition: gather_cfg.py:121
A PFTrack holds several trajectory points, which basically contain the position and momentum of a tra...
double minE_
Definition: EFilter.h:46
edm::EDGetTokenT< std::vector< reco::PFSimParticle > > inputTagParticles_
Definition: EFilter.h:44

Member Data Documentation

edm::EDGetTokenT<std::vector<reco::PFSimParticle> > EFilter::inputTagParticles_
private

Definition at line 44 of file EFilter.h.

double EFilter::maxE_
private

Definition at line 47 of file EFilter.h.

double EFilter::maxEt_
private

Definition at line 49 of file EFilter.h.

double EFilter::minE_
private

Definition at line 46 of file EFilter.h.

double EFilter::minEt_
private

Definition at line 48 of file EFilter.h.