#include <CosmicGenFilterHelix.h>
Public Member Functions | |
virtual void | beginJob () |
CosmicGenFilterHelix (const edm::ParameterSet &config) | |
virtual void | endJob () |
virtual bool | filter (edm::Event &event, const edm::EventSetup &eventSetup) |
virtual | ~CosmicGenFilterHelix () |
Public Member Functions inherited from edm::EDFilter | |
EDFilter () | |
ModuleDescription const & | moduleDescription () const |
virtual | ~EDFilter () |
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< ConsumesInfo > | consumesInfo () 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 | |
bool | charge (int id, int &charge) const |
true if ID selected, return by value its charge More... | |
void | createHistsEnd (const char *dirName, TObjArray &hists) |
void | createHistsStart (const char *dirName, TObjArray &hists) |
for final statistics: events with track reaching target More... | |
bool | equidistLogBins (double *bins, int nBins, double first, double last) const |
const MagneticField * | getMagneticField (const edm::EventSetup &setup) const |
provide magnetic field from Event Setup More... | |
const Propagator * | getPropagator (const edm::EventSetup &setup) const |
void | monitorEnd (const GlobalPoint &endVert, const GlobalVector &endMom, const GlobalPoint &vert, const GlobalVector &mom, double path, TObjArray &hists) |
void | monitorStart (const GlobalPoint &vert, const GlobalVector &mom, int charge, TObjArray &hists) |
bool | propagateToCutCylinder (const GlobalPoint &vertStart, const GlobalVector &momStart, int charge, const MagneticField *field, const Propagator *propagator) |
actually propagate to the defined cylinder More... | |
Private Attributes | |
const std::vector< int > | theCharges |
requested Ids More... | |
const bool | theDoMonitor |
TObjArray | theHistsAfter |
hists of properties from generator More... | |
TObjArray | theHistsBefore |
whether or not to fill monitor hists (needs TFileService) More... | |
const std::vector< int > | theIds |
const double | theMinP2 |
const double | theMinPt2 |
minimal momentum^2 after propagation to cylinder More... | |
unsigned int | theNumPass |
for final statistics: all seen events More... | |
unsigned int | theNumTotal |
plane closing cylinder at 'positive' side More... | |
const std::string | thePropagatorName |
charges, parallel to theIds More... | |
edm::EDGetTokenT < edm::HepMCProduct > | theSrcToken |
Cylinder::ConstCylinderPointer | theTargetCylinder |
minimal transverse^2 momentum after propagation to cylinder More... | |
Plane::ConstPlanePointer | theTargetPlaneMax |
plane closing cylinder at 'negative' side More... | |
Plane::ConstPlanePointer | theTargetPlaneMin |
target cylinder, around z-axis More... | |
Additional Inherited Members | |
Public Types inherited from edm::EDFilter | |
typedef EDFilter | 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::EDFilter | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &) |
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) |
-*- C++ -*-
Package: GeneratorInterface/GenFilters
Description: Event filter for generated particles reaching a certain cylinder surface (around z-axis).
Implementation: Assumes particles coming from outside of defined cylinder, but might work also otherwise. Uses SteppingHelixPropagator and IdealMagneticFieldRecord.
Original Author: Gero FLUCKE Created: Mon Mar 5 16:32:01 CET 2007
Definition at line 40 of file CosmicGenFilterHelix.h.
|
explicit |
Definition at line 42 of file CosmicGenFilterHelix.cc.
References Cylinder::build(), newFWLiteAna::build, Exception, edm::ParameterSet::getParameter(), CosmicsPD_Skims::maxZ, CosmicsPD_Skims::radius, theCharges, theIds, theSrcToken, theTargetCylinder, theTargetPlaneMax, and theTargetPlaneMin.
|
virtual |
Definition at line 72 of file CosmicGenFilterHelix.cc.
|
virtual |
Reimplemented from edm::EDFilter.
Definition at line 163 of file CosmicGenFilterHelix.cc.
References createHistsEnd(), createHistsStart(), theDoMonitor, theHistsAfter, theHistsBefore, theNumPass, and theNumTotal.
|
private |
true if ID selected, return by value its charge
Definition at line 310 of file CosmicGenFilterHelix.cc.
References end, i, theCharges, and theIds.
Referenced by filter().
|
private |
Definition at line 222 of file CosmicGenFilterHelix.cc.
References Abs(), equidistLogBins(), ztee::fd, CosmicsPD_Skims::maxZ, TFileService::mkdir(), Pi, theTargetCylinder, theTargetPlaneMax, and theTargetPlaneMin.
Referenced by beginJob().
|
private |
for final statistics: events with track reaching target
Definition at line 176 of file CosmicGenFilterHelix.cc.
References equidistLogBins(), ztee::fd, TFileService::mkdir(), and Pi.
Referenced by beginJob().
|
virtual |
Reimplemented from edm::EDFilter.
Definition at line 291 of file CosmicGenFilterHelix.cc.
References geometryCSVtoXML::line, theMinP2, theMinPt2, theNumPass, theNumTotal, theTargetCylinder, theTargetPlaneMax, and theTargetPlaneMin.
|
private |
Definition at line 487 of file CosmicGenFilterHelix.cc.
References plotBeamSpotDB::first, i, and prof2calltree::last.
Referenced by createHistsEnd(), and createHistsStart().
|
virtual |
Implements edm::EDFilter.
Definition at line 82 of file CosmicGenFilterHelix.cc.
References ecalTB2006H4_GenSimDigiReco_cfg::bField, charge(), edm::Event::getByToken(), getMagneticField(), getPropagator(), monitorStart(), propagateToCutCylinder(), HLT_25ns14e33_v1_cff::propagator, query::result, theDoMonitor, theHistsBefore, theNumPass, theNumTotal, and theSrcToken.
|
private |
provide magnetic field from Event Setup
Definition at line 325 of file CosmicGenFilterHelix.cc.
References fieldHandle, edm::EventSetup::get(), and edm::ESHandle< class >::product().
Referenced by filter().
|
private |
Definition at line 334 of file CosmicGenFilterHelix.cc.
References edm::EventSetup::get(), edm::ESHandle< class >::product(), and thePropagatorName.
Referenced by filter().
|
private |
Definition at line 410 of file CosmicGenFilterHelix.cc.
References HcalObjRepresent::Fill(), PV3DBase< T, PVType, FrameType >::mag(), PV3DBase< T, PVType, FrameType >::perp(), PV3DBase< T, PVType, FrameType >::theta(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
Referenced by propagateToCutCylinder().
|
private |
Definition at line 349 of file CosmicGenFilterHelix.cc.
References HcalObjRepresent::Fill(), PV3DBase< T, PVType, FrameType >::mag(), PV3DBase< T, PVType, FrameType >::perp(), phi, PV3DBase< T, PVType, FrameType >::phi(), alignCSCRings::r, PV3DBase< T, PVType, FrameType >::theta(), theta(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), z, and PV3DBase< T, PVType, FrameType >::z().
Referenced by filter(), and propagateToCutCylinder().
|
private |
actually propagate to the defined cylinder
Definition at line 116 of file CosmicGenFilterHelix.cc.
References monitorEnd(), monitorStart(), Propagator::propagateWithPath(), query::result, theDoMonitor, theHistsAfter, theMinP2, theMinPt2, theTargetCylinder, theTargetPlaneMax, and theTargetPlaneMin.
Referenced by filter().
|
private |
requested Ids
Definition at line 63 of file CosmicGenFilterHelix.h.
Referenced by charge(), and CosmicGenFilterHelix().
|
private |
Definition at line 82 of file CosmicGenFilterHelix.h.
Referenced by beginJob(), filter(), and propagateToCutCylinder().
|
private |
hists of properties from generator
Definition at line 84 of file CosmicGenFilterHelix.h.
Referenced by beginJob(), and propagateToCutCylinder().
|
private |
whether or not to fill monitor hists (needs TFileService)
Definition at line 83 of file CosmicGenFilterHelix.h.
Referenced by beginJob(), and filter().
|
private |
Definition at line 62 of file CosmicGenFilterHelix.h.
Referenced by charge(), and CosmicGenFilterHelix().
|
private |
Definition at line 65 of file CosmicGenFilterHelix.h.
Referenced by endJob(), and propagateToCutCylinder().
|
private |
minimal momentum^2 after propagation to cylinder
Definition at line 66 of file CosmicGenFilterHelix.h.
Referenced by endJob(), and propagateToCutCylinder().
|
private |
for final statistics: all seen events
Definition at line 73 of file CosmicGenFilterHelix.h.
Referenced by beginJob(), endJob(), and filter().
|
private |
plane closing cylinder at 'positive' side
Definition at line 72 of file CosmicGenFilterHelix.h.
Referenced by beginJob(), endJob(), and filter().
|
private |
charges, parallel to theIds
Definition at line 64 of file CosmicGenFilterHelix.h.
Referenced by getPropagator().
|
private |
Definition at line 61 of file CosmicGenFilterHelix.h.
Referenced by CosmicGenFilterHelix(), and filter().
|
private |
minimal transverse^2 momentum after propagation to cylinder
Definition at line 68 of file CosmicGenFilterHelix.h.
Referenced by CosmicGenFilterHelix(), createHistsEnd(), endJob(), and propagateToCutCylinder().
|
private |
plane closing cylinder at 'negative' side
Definition at line 70 of file CosmicGenFilterHelix.h.
Referenced by CosmicGenFilterHelix(), createHistsEnd(), endJob(), and propagateToCutCylinder().
|
private |
target cylinder, around z-axis
Definition at line 69 of file CosmicGenFilterHelix.h.
Referenced by CosmicGenFilterHelix(), createHistsEnd(), endJob(), and propagateToCutCylinder().