Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
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 "
DataFormats/Candidate/interface/Candidate.h
"
11
#include "
DataFormats/Common/interface/Handle.h
"
12
#include "
DataFormats/HepMCCandidate/interface/GenParticle.h
"
13
#include "
DataFormats/HepMCCandidate/interface/GenParticleFwd.h
"
14
#include "
DataFormats/METReco/interface/GenMET.h
"
15
#include "
DataFormats/METReco/interface/GenMETCollection.h
"
16
#include "
DataFormats/Math/interface/LorentzVector.h
"
17
#include "
FWCore/Framework/interface/global/EDProducer.h
"
18
#include "
FWCore/Framework/interface/Event.h
"
19
#include "
FWCore/Framework/interface/Frameworkfwd.h
"
20
#include "
FWCore/MessageLogger/interface/MessageLogger.h
"
21
#include "
FWCore/ParameterSet/interface/ParameterSet.h
"
22
#include "
FWCore/Utilities/interface/InputTag.h
"
23
#include "HepMC/GenEvent.h"
24
#include "
SimDataFormats/GeneratorProducts/interface/HepMCProduct.h
"
25
26
#include "TLorentzVector.h"
27
#include <string>
28
#include <vector>
29
30
typedef
math::XYZTLorentzVectorD
LorentzVector
;
31
typedef
std::vector<LorentzVector>
LorentzVectorCollection
;
32
33
class
HLTTauMCProducer
:
public
edm::global::EDProducer
<> {
34
public
:
35
explicit
HLTTauMCProducer
(
const
edm::ParameterSet
&);
36
37
void
produce
(
edm::StreamID
,
edm::Event
&,
const
edm::EventSetup
&)
const override
;
38
39
private
:
40
void
getGenDecayProducts
(
const
reco::GenParticleRef
&,
41
reco::GenParticleRefVector
&,
42
int
status
= 1,
43
int
pdgId = 0)
const
;
44
45
enum
tauDecayModes
{
46
kElectron
,
47
kMuon
,
48
kOneProng0pi0
,
49
kOneProng1pi0
,
50
kOneProng2pi0
,
51
kThreeProng0pi0
,
52
kThreeProng1pi0
,
53
kOther
,
54
kUndefined
55
};
56
57
const
edm::EDGetTokenT<reco::GenParticleCollection>
MC_
;
58
const
edm::EDGetTokenT<reco::GenMETCollection>
MCMET_
;
59
const
double
ptMinMCTau_
;
60
const
double
ptMinMCElectron_
;
61
const
double
ptMinMCMuon_
;
62
const
std::vector<int>
m_PDG_
;
63
const
double
etaMin_
,
etaMax_
,
phiMin_
,
phiMax_
;
64
};
65
66
#endif
HLTTauMCProducer::ptMinMCTau_
const double ptMinMCTau_
Definition:
HLTTauMCProducer.h:59
EDProducer.h
HLTTauMCProducer::MCMET_
const edm::EDGetTokenT< reco::GenMETCollection > MCMET_
Definition:
HLTTauMCProducer.h:58
HLTTauMCProducer::kMuon
Definition:
HLTTauMCProducer.h:47
math::XYZTLorentzVectorD
ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< double > > XYZTLorentzVectorD
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition:
LorentzVector.h:14
MessageLogger.h
HLTTauMCProducer
Definition:
HLTTauMCProducer.h:33
edm::Ref< GenParticleCollection >
HLTTauMCProducer::tauDecayModes
tauDecayModes
Definition:
HLTTauMCProducer.h:45
GenParticle.h
edm::StreamID
Definition:
StreamID.h:30
Event.h
HLTTauMCProducer::phiMin_
const double phiMin_
Definition:
HLTTauMCProducer.h:63
mps_update.status
list status
Definition:
mps_update.py:107
GenMET.h
edm::EDGetTokenT< reco::GenParticleCollection >
Frameworkfwd.h
HLTTauMCProducer::ptMinMCElectron_
const double ptMinMCElectron_
Definition:
HLTTauMCProducer.h:60
ParameterSet.h
Candidate.h
HLTTauMCProducer::HLTTauMCProducer
HLTTauMCProducer(const edm::ParameterSet &)
Definition:
HLTTauMCProducer.cc:7
HLTTauMCProducer::ptMinMCMuon_
const double ptMinMCMuon_
Definition:
HLTTauMCProducer.h:61
HLTTauMCProducer::kThreeProng0pi0
Definition:
HLTTauMCProducer.h:51
GenParticleFwd.h
edm::EventSetup
Definition:
EventSetup.h:59
edm::global::EDProducer
Definition:
EDProducer.h:32
GenMETCollection.h
HLTTauMCProducer::etaMin_
const double etaMin_
Definition:
HLTTauMCProducer.h:63
LorentzVector.h
HLTTauMCProducer::etaMax_
const double etaMax_
Definition:
HLTTauMCProducer.h:63
HepMCProduct.h
LorentzVectorCollection
std::vector< LorentzVector > LorentzVectorCollection
Definition:
HLTTauMCProducer.h:31
HLTTauMCProducer::MC_
const edm::EDGetTokenT< reco::GenParticleCollection > MC_
Definition:
HLTTauMCProducer.h:57
HLTTauMCProducer::kUndefined
Definition:
HLTTauMCProducer.h:54
HLTTauMCProducer::kOneProng2pi0
Definition:
HLTTauMCProducer.h:50
HLTTauMCProducer::kThreeProng1pi0
Definition:
HLTTauMCProducer.h:52
HLTTauMCProducer::phiMax_
const double phiMax_
Definition:
HLTTauMCProducer.h:63
HLTTauMCProducer::kOneProng1pi0
Definition:
HLTTauMCProducer.h:49
edm::RefVector< GenParticleCollection >
HLTTauMCProducer::produce
void produce(edm::StreamID, edm::Event &, const edm::EventSetup &) const override
Definition:
HLTTauMCProducer.cc:32
HLTTauMCProducer::kOther
Definition:
HLTTauMCProducer.h:53
HLTTauMCProducer::getGenDecayProducts
void getGenDecayProducts(const reco::GenParticleRef &, reco::GenParticleRefVector &, int status=1, int pdgId=0) const
Definition:
HLTTauMCProducer.cc:262
HLTTauMCProducer::kOneProng0pi0
Definition:
HLTTauMCProducer.h:48
HLTTauMCProducer::kElectron
Definition:
HLTTauMCProducer.h:46
InputTag.h
edm::ParameterSet
Definition:
ParameterSet.h:47
edm::Event
Definition:
Event.h:73
reco::JetExtendedAssociation::LorentzVector
math::PtEtaPhiELorentzVectorF LorentzVector
Definition:
JetExtendedAssociation.h:25
HLTTauMCProducer::m_PDG_
const std::vector< int > m_PDG_
Definition:
HLTTauMCProducer.h:62
Handle.h
Generated for CMSSW Reference Manual by
1.8.5