test
Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
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
SingleMuPt40Fwdv2_cfi_GEN_SIM.pdgId
tuple pdgId
Definition:
SingleMuPt40Fwdv2_cfi_GEN_SIM.py:85
GenParticle.h
Event.h
HLTTauMCProducer::MC_
edm::EDGetTokenT< reco::GenParticleCollection > MC_
Definition:
HLTTauMCProducer.h:51
GenMET.h
Handle.h
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
HLTTauMCProducer::kThreeProng1pi0
Definition:
HLTTauMCProducer.h:48
HLTTauMCProducer::kOneProng1pi0
Definition:
HLTTauMCProducer.h:47
edm::RefVector< GenParticleCollection >
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:65
reco::JetExtendedAssociation::LorentzVector
math::PtEtaPhiELorentzVectorF LorentzVector
Definition:
JetExtendedAssociation.h:25
mps_update.status
tuple status
Definition:
mps_update.py:57
Generated for CMSSW Reference Manual by
1.8.5