![]() |
![]() |
#include <CosmicGenFilterHelix.h>
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 | |
![]() | |
typedef EDFilterBase | ModuleType |
![]() | |
using | ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >> |
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
![]() | |
typedef ProductLabels | Labels |
![]() | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &descriptions) |
![]() | |
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 ESProduct , typename ESRecord , Transition Tr = Transition::Event> | |
auto | esConsumes () |
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> | |
auto | esConsumes (ESInputTag const &tag) |
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 Plane::build(), Cylinder::build(), Exception, edm::ParameterSet::getParameter(), TFileService::kSharedResource, pvSelector_cfi::maxZ, HiClusterCompatibility_cfi::minZ, TCMET_cfi::radius, theCharges, theIds, theSrcToken, theTargetCylinder, theTargetPlaneMax, and theTargetPlaneMin.
|
override |
Definition at line 74 of file CosmicGenFilterHelix.cc.
|
overridevirtual |
Reimplemented from edm::one::EDFilterBase.
Definition at line 165 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 312 of file CosmicGenFilterHelix.cc.
References end, mps_fire::i, theCharges, and theIds.
Referenced by filter().
|
private |
Definition at line 224 of file CosmicGenFilterHelix.cc.
References Abs(), equidistLogBins(), pvSelector_cfi::maxZ, HiClusterCompatibility_cfi::minZ, TFileService::mkdir(), Pi, theTargetCylinder, theTargetPlaneMax, and theTargetPlaneMin.
Referenced by beginJob().
|
private |
for final statistics: events with track reaching target
Definition at line 178 of file CosmicGenFilterHelix.cc.
References equidistLogBins(), TFileService::mkdir(), and Pi.
Referenced by beginJob().
|
overridevirtual |
Reimplemented from edm::one::EDFilterBase.
Definition at line 293 of file CosmicGenFilterHelix.cc.
References mps_splice::line, theMinP2, theMinPt2, theNumPass, theNumTotal, theTargetCylinder, theTargetPlaneMax, and theTargetPlaneMin.
|
private |
Definition at line 489 of file CosmicGenFilterHelix.cc.
References plotBeamSpotDB::first, mps_fire::i, and plotBeamSpotDB::last.
Referenced by createHistsEnd(), and createHistsStart().
|
override |
Definition at line 84 of file CosmicGenFilterHelix.cc.
References ecalTB2006H4_GenSimDigiReco_cfg::bField, charge(), edm::Event::getByToken(), edm::HepMCProduct::GetEvent(), getMagneticField(), getPropagator(), monitorStart(), propagateToCutCylinder(), PhotonConversionTrajectorySeedProducerFromQuadruplets_cfi::propagator, mps_fire::result, theDoMonitor, theHistsBefore, theNumPass, theNumTotal, and theSrcToken.
|
private |
provide magnetic field from Event Setup
Definition at line 327 of file CosmicGenFilterHelix.cc.
References fieldHandle, edm::EventSetup::get(), and edm::ESHandle< T >::product().
Referenced by filter().
|
private |
Definition at line 336 of file CosmicGenFilterHelix.cc.
References edm::EventSetup::get(), edm::ESHandle< T >::product(), and thePropagatorName.
Referenced by filter().
|
private |
Definition at line 412 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 351 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(), DOFs::thetaY, 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 118 of file CosmicGenFilterHelix.cc.
References monitorEnd(), monitorStart(), Propagator::propagateWithPath(), mps_fire::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().