33 #include <TObjArray.h>
55 bool charge(
int id,
int &charge)
const;
Cylinder::ConstCylinderPointer theTargetCylinder
minimal transverse^2 momentum after propagation to cylinder
unsigned int theNumPass
for final statistics: all seen events
Plane::ConstPlanePointer theTargetPlaneMax
plane closing cylinder at 'negative' side
const double theMinPt2
minimal momentum^2 after propagation to cylinder
virtual ~CosmicGenFilterHelix()
const std::vector< int > theIds
const Propagator * getPropagator(const edm::EventSetup &setup) const
TObjArray theHistsAfter
hists of properties from generator
void createHistsStart(const char *dirName, TObjArray &hists)
for final statistics: events with track reaching target
const MagneticField * getMagneticField(const edm::EventSetup &setup) const
provide magnetic field from Event Setup
bool propagateToCutCylinder(const GlobalPoint &vertStart, const GlobalVector &momStart, int charge, const MagneticField *field, const Propagator *propagator)
actually propagate to the defined cylinder
edm::EDGetTokenT< edm::HepMCProduct > theSrcToken
void monitorEnd(const GlobalPoint &endVert, const GlobalVector &endMom, const GlobalPoint &vert, const GlobalVector &mom, double path, TObjArray &hists)
CosmicGenFilterHelix(const edm::ParameterSet &config)
virtual bool filter(edm::Event &event, const edm::EventSetup &eventSetup)
const std::vector< int > theCharges
requested Ids
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
bool equidistLogBins(double *bins, int nBins, double first, double last) const
void createHistsEnd(const char *dirName, TObjArray &hists)
TObjArray theHistsBefore
whether or not to fill monitor hists (needs TFileService)
bool charge(int id, int &charge) const
true if ID selected, return by value its charge
void monitorStart(const GlobalPoint &vert, const GlobalVector &mom, int charge, TObjArray &hists)
const std::string thePropagatorName
charges, parallel to theIds
Plane::ConstPlanePointer theTargetPlaneMin
target cylinder, around z-axis
void setup(std::vector< TH2F > &depth, std::string name, std::string units="")
unsigned int theNumTotal
plane closing cylinder at 'positive' side