CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
BdecayFilter.h
Go to the documentation of this file.
1 #ifndef _BdecayFilter_h_
2 #define _BdecayFilter_h_
3 
4 
5 // system include files
6 #include <memory>
7 #include <iostream>
8 #include <vector>
9 
10 // user include files
13 
16 
18 
20 
21 #include "HepMC/GenVertex.h"
22 
23 
24 //
25 
26 
27 class BdecayFilter : public edm::EDFilter
28 {
29 
30 public:
31 
32  explicit BdecayFilter(const edm::ParameterSet&);
33  ~BdecayFilter();
34 
35  virtual bool filter(edm::Event&, const edm::EventSetup&);
36 
37 private:
38 
39  struct CutStruct {
40  int type;
41  std::vector<int> decayProduct;
42  double etaMin, etaMax, ptMin;
43  };
44 
45  typedef std::vector< HepMC::GenParticle * > GenPartVect;
46  typedef std::vector< HepMC::GenParticle * >::const_iterator GenPartVectIt;
47 
48  // HepMC::GenParticle * findParticle(const GenPartVect genPartVect, const int requested_id) ;
49 
50  //***
51  HepMC::GenParticle * findParticle(HepMC::GenVertex* , const int requested_id) ;
52  //***
53 
54  HepMC::GenEvent::particle_const_iterator getNextBs(const HepMC::GenEvent::particle_const_iterator start,
55  const HepMC::GenEvent::particle_const_iterator end);
56 
57 
58  bool cuts(const HepMC::GenParticle * jpsi, const CutStruct cut);
59  bool etaInRange(float eta, float etamin, float etamax);
60 
62 
63  std::string label_;
66 };
67 
68 
69 #endif
virtual bool filter(edm::Event &, const edm::EventSetup &)
Definition: BdecayFilter.cc:76
std::vector< HepMC::GenParticle * >::const_iterator GenPartVectIt
Definition: BdecayFilter.h:46
bool cuts(const HepMC::GenParticle *jpsi, const CutStruct cut)
CutStruct firstDaughter
Definition: BdecayFilter.h:61
T eta() const
HepMC::GenParticle * findParticle(HepMC::GenVertex *, const int requested_id)
Definition: BdecayFilter.cc:49
std::vector< int > decayProduct
Definition: BdecayFilter.h:41
#define end
Definition: vmac.h:38
HepMC::GenEvent::particle_const_iterator getNextBs(const HepMC::GenEvent::particle_const_iterator start, const HepMC::GenEvent::particle_const_iterator end)
Definition: BdecayFilter.cc:63
BdecayFilter(const edm::ParameterSet &)
Definition: BdecayFilter.cc:9
int motherParticle
Definition: BdecayFilter.h:65
bool etaInRange(float eta, float etamin, float etamax)
std::string label_
Definition: BdecayFilter.h:63
#define jpsi
CutStruct secondDaughter
Definition: BdecayFilter.h:61
std::vector< HepMC::GenParticle * > GenPartVect
Definition: BdecayFilter.h:45