Main Page
Namespaces
Classes
Package Documentation
HLTriggerOffline
Tau
interface
HLTTauMCProducer.h
Go to the documentation of this file.
1
/*HLTTauMCProducer
2
Producer that creates LorentzVector Collections
3
from offline reconstructed quantities to be used
4
in Offline Trigger DQM etc
5
*/
6
7
#ifndef HLTTauMCProducer_h
8
#define HLTTauMCProducer_h
9
10
#include "
FWCore/Framework/interface/Frameworkfwd.h
"
11
#include "
FWCore/Framework/interface/EDProducer.h
"
12
#include "
FWCore/Framework/interface/Event.h
"
13
#include "
FWCore/ParameterSet/interface/ParameterSet.h
"
14
#include "
FWCore/Utilities/interface/InputTag.h
"
15
#include "
DataFormats/Common/interface/Handle.h
"
16
#include "
FWCore/MessageLogger/interface/MessageLogger.h
"
17
#include "
SimDataFormats/GeneratorProducts/interface/HepMCProduct.h
"
18
#include "
DataFormats/HepMCCandidate/interface/GenParticle.h
"
19
#include "
DataFormats/HepMCCandidate/interface/GenParticleFwd.h
"
20
#include "
DataFormats/Candidate/interface/Candidate.h
"
21
#include "
DataFormats/Math/interface/LorentzVector.h
"
22
#include "HepMC/GenEvent.h"
23
#include "
DataFormats/METReco/interface/GenMET.h
"
24
#include "
DataFormats/METReco/interface/GenMETCollection.h
"
25
26
#include <vector>
27
#include <string>
28
#include "TLorentzVector.h"
29
30
typedef
math::XYZTLorentzVectorD
LorentzVector
;
31
typedef
std::vector<LorentzVector>
LorentzVectorCollection
;
32
33
class
HLTTauMCProducer
:
public
edm::EDProducer
{
34
35
public
:
36
explicit
HLTTauMCProducer
(
const
edm::ParameterSet
&);
37
~HLTTauMCProducer
();
38
39
virtual
void
produce
(
edm::Event
&,
const
edm::EventSetup
&);
40
41
private
:
42
43
void
getGenDecayProducts
(
const
reco::GenParticleRef
&,
reco::GenParticleRefVector
&,
44
int
status
=1,
int
pdgId
=0);
45
46
enum
tauDecayModes
{
kElectron
,
kMuon
,
47
kOneProng0pi0
,
kOneProng1pi0
,
kOneProng2pi0
,
48
kThreeProng0pi0
,
kThreeProng1pi0
,
49
kOther
,
kUndefined
};
50
51
edm::EDGetTokenT<reco::GenParticleCollection>
MC_
;
52
edm::EDGetTokenT<reco::GenMETCollection>
MCMET_
;
53
double
ptMinMCTau_
;
54
double
ptMinMCElectron_
;
55
double
ptMinMCMuon_
;
56
std::vector<int>
m_PDG_
;
57
double
etaMax
;
58
59
};
60
61
#endif
HLTTauMCProducer::ptMinMCTau_
double ptMinMCTau_
Definition:
HLTTauMCProducer.h:53
HLTTauMCProducer::MCMET_
edm::EDGetTokenT< reco::GenMETCollection > MCMET_
Definition:
HLTTauMCProducer.h:52
MessageLogger.h
HLTTauMCProducer::kMuon
Definition:
HLTTauMCProducer.h:46
math::XYZTLorentzVectorD
ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< double > > XYZTLorentzVectorD
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition:
LorentzVector.h:14
HLTTauMCProducer
Definition:
HLTTauMCProducer.h:33
HLTTauMCProducer::m_PDG_
std::vector< int > m_PDG_
Definition:
HLTTauMCProducer.h:56
edm::Ref< GenParticleCollection >
HLTTauMCProducer::tauDecayModes
tauDecayModes
Definition:
HLTTauMCProducer.h:46
GenParticle.h
Event.h
HLTTauMCProducer::MC_
edm::EDGetTokenT< reco::GenParticleCollection > MC_
Definition:
HLTTauMCProducer.h:51
GenMET.h
mps_update.status
status
Definition:
mps_update.py:57
edm::EDGetTokenT< reco::GenParticleCollection >
Frameworkfwd.h
edm::EDProducer
Definition:
EDProducer.h:35
ParameterSet.h
HLTTauMCProducer::~HLTTauMCProducer
~HLTTauMCProducer()
Definition:
HLTTauMCProducer.cc:33
Candidate.h
HLTTauMCProducer::HLTTauMCProducer
HLTTauMCProducer(const edm::ParameterSet &)
Definition:
HLTTauMCProducer.cc:7
HLTTauMCProducer::getGenDecayProducts
void getGenDecayProducts(const reco::GenParticleRef &, reco::GenParticleRefVector &, int status=1, int pdgId=0)
Definition:
HLTTauMCProducer.cc:272
HLTTauMCProducer::etaMax
double etaMax
Definition:
HLTTauMCProducer.h:57
HLTTauMCProducer::kThreeProng0pi0
Definition:
HLTTauMCProducer.h:48
HLTTauMCProducer::ptMinMCMuon_
double ptMinMCMuon_
Definition:
HLTTauMCProducer.h:55
GenParticleFwd.h
edm::EventSetup
Definition:
EventSetup.h:45
GenMETCollection.h
LorentzVector.h
HepMCProduct.h
LorentzVectorCollection
std::vector< LorentzVector > LorentzVectorCollection
Definition:
HLTTauMCProducer.h:31
EDProducer.h
HLTTauMCProducer::kUndefined
Definition:
HLTTauMCProducer.h:49
HLTTauMCProducer::kOneProng2pi0
Definition:
HLTTauMCProducer.h:47
cosmictrackingParticleSelector_cfi.pdgId
pdgId
Definition:
cosmictrackingParticleSelector_cfi.py:6
HLTTauMCProducer::kThreeProng1pi0
Definition:
HLTTauMCProducer.h:48
HLTTauMCProducer::kOneProng1pi0
Definition:
HLTTauMCProducer.h:47
edm::RefVector< GenParticleCollection >
LorentzVector
math::XYZTLorentzVectorD LorentzVector
Definition:
HLTTauMCProducer.h:30
HLTTauMCProducer::kOther
Definition:
HLTTauMCProducer.h:49
HLTTauMCProducer::ptMinMCElectron_
double ptMinMCElectron_
Definition:
HLTTauMCProducer.h:54
HLTTauMCProducer::produce
virtual void produce(edm::Event &, const edm::EventSetup &)
Definition:
HLTTauMCProducer.cc:35
HLTTauMCProducer::kOneProng0pi0
Definition:
HLTTauMCProducer.h:47
HLTTauMCProducer::kElectron
Definition:
HLTTauMCProducer.h:46
InputTag.h
edm::ParameterSet
Definition:
ParameterSet.h:36
edm::Event
Definition:
Event.h:66
Handle.h
Generated for CMSSW Reference Manual by
1.8.11