|
||||
File indexing completed on 2024-04-06 12:11:20
0001 #ifndef FASTSIM_PARTICLEFILTER 0002 #define FASTSIM_PARTICLEFILTER 0003 0004 #include "DataFormats/Math/interface/LorentzVector.h" 0005 #include <vector> 0006 0007 /////////////////////////////////////////////// 0008 // Author: Patrick Janot 0009 // Date: 09 Dez 2003 0010 // 0011 // Revision: Class structure modified to match SimplifiedGeometryPropagator 0012 // S. Kurz, 29 May 2017 0013 ////////////////////////////////////////////////////////// 0014 0015 namespace edm { 0016 class ParameterSet; 0017 } 0018 0019 namespace fastsim { 0020 class Particle; 0021 0022 //! (Kinematic) cuts on the particles that are propagated. 0023 /*! 0024 All other particles are skipped. 0025 */ 0026 class ParticleFilter { 0027 public: 0028 //! Default Constructor. 0029 ParticleFilter(const edm::ParameterSet& cfg); 0030 0031 //! Check all if all criteria are fullfilled. 0032 /*! 0033 - Particle is invisible (neutrinos by default, list can be extended) 0034 - Kinematic cuts (calls acceptsEN(...)) 0035 - Vertex within tracker volume (calls acceptsVtx(...)) 0036 \sa acceptsEn(const Particle & particle) 0037 \sa acceptsVtx(const math::XYZTLorentzVector & originVertexPosition) 0038 */ 0039 bool accepts(const Particle& particle) const; 0040 0041 //! Kinematic cuts on the particle 0042 bool acceptsEn(const Particle& particle) const; 0043 0044 //! Vertex within tracker volume 0045 /*! 0046 \param originVertexPosition Position of origin vertex. 0047 */ 0048 bool acceptsVtx(const math::XYZTLorentzVector& originVertexPosition) const; 0049 0050 private: 0051 double chargedPtMin2_; //!< Minimum pT^2 of a charged particle 0052 double EMin_; //!< Minimum energy of a particle 0053 double protonEMin_; //!< Allow *ALL* protons with energy > protonEMin 0054 double cos2ThetaMax_; //!< Particles must have abs(eta) < etaMax if close to beampipe 0055 double vertexRMax2_; //!< Radius^2 of tracker volume 0056 double vertexZMax_; //!< Z of tracker volume 0057 std::vector<int> skipParticles_; //!< List of invisible particles (neutrinos are excluded by default) 0058 }; 0059 } // namespace fastsim 0060 0061 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.2.1 LXR engine. The LXR team |