GeneratorInterface
CosmicMuonGenerator
interface
CosMuoGenProducer.h
Go to the documentation of this file.
1
#ifndef CosMuoGenProducer_h
2
#define CosMuoGenProducer_h
3
//
4
// CosmicMuonProducer by droll (01/FEB/2006)
5
//
6
#include "HepMC/GenEvent.h"
7
8
#include "
FWCore/Framework/interface/one/EDProducer.h
"
9
#include "
FWCore/Framework/interface/EventSetup.h
"
10
#include "
FWCore/Framework/interface/Event.h
"
11
#include "
FWCore/Framework/interface/LuminosityBlock.h
"
12
#include "
FWCore/Framework/interface/Run.h
"
13
#include "
FWCore/ParameterSet/interface/ParameterSet.h
"
14
#include "
FWCore/Utilities/interface/Exception.h
"
15
16
#include "
GeneratorInterface/CosmicMuonGenerator/interface/CosmicMuonGenerator.h
"
17
18
#include <memory>
19
20
namespace
edm
{
21
class
CosMuoGenProducer
:
public
one::EDProducer
<EndRunProducer, one::WatchLuminosityBlocks> {
22
public
:
23
CosMuoGenProducer
(
const
ParameterSet
&);
24
~CosMuoGenProducer
()
override
;
25
26
private
:
27
void
beginLuminosityBlock
(
LuminosityBlock
const
&,
EventSetup
const
&)
override
;
28
void
endLuminosityBlock
(
LuminosityBlock
const
&,
EventSetup
const
&)
override
{}
29
30
void
produce
(
Event
&
e
,
const
EventSetup
& es)
override
;
31
32
void
endRunProduce
(
Run
&
r
,
const
EventSetup
& es)
override
;
33
34
void
clear
();
35
// define the configurable generator parameters
36
int32_t
RanS
;
// seed of random number generator (from Framework)
37
double
MinP
;
// min. P [GeV]
38
double
MinP_CMS
;
// min. P at CMS surface [GeV]; default is MinP_CMS=MinP, thus no bias from access-shaft
39
double
MaxP
;
// max. P [GeV]
40
double
MinT
;
// min. theta [deg]
41
double
MaxT
;
// max. theta [deg]
42
double
MinPh
;
// min. phi [deg]
43
double
MaxPh
;
// max. phi [deg]
44
double
MinS
;
// min. t0 [ns]
45
double
MaxS
;
// max. t0 [ns]
46
double
ELSF
;
// scale factor for energy loss
47
double
RTarget
;
// Radius of target-cylinder which cosmics HAVE to hit [mm], default is CMS-dimensions
48
double
ZTarget
;
// z-length of target-cylinder which cosmics HAVE to hit [mm], default is CMS-dimensions
49
double
50
ZCTarget
;
// z-position of centre of target-cylinder which cosmics HAVE to hit [mm], default is Nominal Interaction Point
51
bool
TrackerOnly
;
//if set to "true" detector with tracker-only setup is used, so no material or B-field outside is considerd
52
bool
MultiMuon
;
//read in multi-muon events from file instead of generating single muon events
53
std::string
MultiMuonFileName
;
//file containing multi muon events, to be read in
54
int32_t
MultiMuonFileFirstEvent
;
55
int32_t
MultiMuonNmin
;
56
bool
TIFOnly_constant
;
//if set to "true" cosmics can also be generated below 2GeV with unphysical constant energy dependence
57
bool
TIFOnly_linear
;
//if set to "true" cosmics can also be generated below 2GeV with unphysical linear energy dependence
58
bool
MTCCHalf
;
//if set to "true" muons are sure to hit half of CMS important for MTCC,
59
//still material and B-field of whole CMS is considered
60
61
//Plug position (default = on shaft)
62
double
PlugVtx
;
63
double
PlugVtz
;
64
65
//material densities in g/cm^3
66
double
VarRhoAir
;
67
double
VarRhoWall
;
68
double
VarRhoRock
;
69
double
VarRhoClay
;
70
double
VarRhoPlug
;
71
double
ClayLayerWidth
;
//[mm]
72
73
//For upgoing muon generation: Neutrino energy limits
74
double
MinEn
;
75
double
MaxEn
;
76
double
NuPrdAlt
;
77
78
bool
AllMu
;
//Accepting All Muons regardeless of direction
79
80
// external cross section and filter efficiency
81
double
extCrossSect
;
82
double
extFilterEff
;
83
84
std::unique_ptr<CosmicMuonGenerator>
CosMuoGen
;
85
// the event format itself
86
bool
cmVerbosity_
;
87
88
bool
isInitialized_
;
89
};
90
}
// namespace edm
91
92
#endif
edm::CosMuoGenProducer::VarRhoClay
double VarRhoClay
Definition:
CosMuoGenProducer.h:69
edm::CosMuoGenProducer::VarRhoAir
double VarRhoAir
Definition:
CosMuoGenProducer.h:66
EDProducer.h
edm::LuminosityBlock
Definition:
LuminosityBlock.h:50
edm::CosMuoGenProducer::TIFOnly_constant
bool TIFOnly_constant
Definition:
CosMuoGenProducer.h:56
edm::Run
Definition:
Run.h:45
LuminosityBlock.h
edm
HLT enums.
Definition:
AlignableModifier.h:19
edm::CosMuoGenProducer::MaxPh
double MaxPh
Definition:
CosMuoGenProducer.h:43
edm::one::EDProducer
Definition:
EDProducer.h:30
edm::CosMuoGenProducer::MultiMuonFileName
std::string MultiMuonFileName
Definition:
CosMuoGenProducer.h:53
edm::CosMuoGenProducer::MaxT
double MaxT
Definition:
CosMuoGenProducer.h:41
edm::CosMuoGenProducer::~CosMuoGenProducer
~CosMuoGenProducer() override
Definition:
CosMuoGenProducer.cc:99
edm::CosMuoGenProducer::endLuminosityBlock
void endLuminosityBlock(LuminosityBlock const &, EventSetup const &) override
Definition:
CosMuoGenProducer.h:28
edm::CosMuoGenProducer::MinP_CMS
double MinP_CMS
Definition:
CosMuoGenProducer.h:38
edm::CosMuoGenProducer::PlugVtz
double PlugVtz
Definition:
CosMuoGenProducer.h:63
edm::CosMuoGenProducer::MinEn
double MinEn
Definition:
CosMuoGenProducer.h:74
edm::CosMuoGenProducer::VarRhoPlug
double VarRhoPlug
Definition:
CosMuoGenProducer.h:70
edm::CosMuoGenProducer::cmVerbosity_
bool cmVerbosity_
Definition:
CosMuoGenProducer.h:86
edm::CosMuoGenProducer::ZCTarget
double ZCTarget
Definition:
CosMuoGenProducer.h:50
edm::CosMuoGenProducer::MaxP
double MaxP
Definition:
CosMuoGenProducer.h:39
edm::CosMuoGenProducer::ZTarget
double ZTarget
Definition:
CosMuoGenProducer.h:48
edm::CosMuoGenProducer::MinP
double MinP
Definition:
CosMuoGenProducer.h:37
edm::CosMuoGenProducer::TIFOnly_linear
bool TIFOnly_linear
Definition:
CosMuoGenProducer.h:57
edm::CosMuoGenProducer::VarRhoWall
double VarRhoWall
Definition:
CosMuoGenProducer.h:67
Run.h
edm::CosMuoGenProducer::AllMu
bool AllMu
Definition:
CosMuoGenProducer.h:78
edm::CosMuoGenProducer::RTarget
double RTarget
Definition:
CosMuoGenProducer.h:47
edm::CosMuoGenProducer::clear
void clear()
Definition:
CosMuoGenProducer.cc:125
edm::CosMuoGenProducer::VarRhoRock
double VarRhoRock
Definition:
CosMuoGenProducer.h:68
edm::ParameterSet
Definition:
ParameterSet.h:47
edm::CosMuoGenProducer::endRunProduce
void endRunProduce(Run &r, const EventSetup &es) override
Definition:
CosMuoGenProducer.cc:109
Event.h
edm::CosMuoGenProducer::NuPrdAlt
double NuPrdAlt
Definition:
CosMuoGenProducer.h:76
edm::CosMuoGenProducer::MinT
double MinT
Definition:
CosMuoGenProducer.h:40
edm::CosMuoGenProducer::ELSF
double ELSF
Definition:
CosMuoGenProducer.h:46
edm::CosMuoGenProducer::RanS
int32_t RanS
Definition:
CosMuoGenProducer.h:36
edm::CosMuoGenProducer::CosMuoGen
std::unique_ptr< CosmicMuonGenerator > CosMuoGen
Definition:
CosMuoGenProducer.h:84
edm::CosMuoGenProducer::isInitialized_
bool isInitialized_
Definition:
CosMuoGenProducer.h:88
edm::CosMuoGenProducer::PlugVtx
double PlugVtx
Definition:
CosMuoGenProducer.h:62
edm::CosMuoGenProducer::ClayLayerWidth
double ClayLayerWidth
Definition:
CosMuoGenProducer.h:71
edm::EventSetup
Definition:
EventSetup.h:58
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:256
edm::CosMuoGenProducer::MaxEn
double MaxEn
Definition:
CosMuoGenProducer.h:75
alignCSCRings.r
r
Definition:
alignCSCRings.py:93
edm::CosMuoGenProducer::MultiMuonNmin
int32_t MultiMuonNmin
Definition:
CosMuoGenProducer.h:55
edm::CosMuoGenProducer::MinS
double MinS
Definition:
CosMuoGenProducer.h:44
edm::CosMuoGenProducer
Definition:
CosMuoGenProducer.h:21
edm::CosMuoGenProducer::extFilterEff
double extFilterEff
Definition:
CosMuoGenProducer.h:82
edm::CosMuoGenProducer::CosMuoGenProducer
CosMuoGenProducer(const ParameterSet &)
Definition:
CosMuoGenProducer.cc:11
edm::CosMuoGenProducer::TrackerOnly
bool TrackerOnly
Definition:
CosMuoGenProducer.h:51
EventSetup.h
CosmicMuonGenerator.h
Exception.h
edm::CosMuoGenProducer::MTCCHalf
bool MTCCHalf
Definition:
CosMuoGenProducer.h:58
edm::CosMuoGenProducer::MinPh
double MinPh
Definition:
CosMuoGenProducer.h:42
edm::CosMuoGenProducer::beginLuminosityBlock
void beginLuminosityBlock(LuminosityBlock const &, EventSetup const &) override
Definition:
CosMuoGenProducer.cc:101
ParameterSet.h
edm::CosMuoGenProducer::produce
void produce(Event &e, const EventSetup &es) override
Definition:
CosMuoGenProducer.cc:127
edm::Event
Definition:
Event.h:73
edm::CosMuoGenProducer::MaxS
double MaxS
Definition:
CosMuoGenProducer.h:45
edm::CosMuoGenProducer::extCrossSect
double extCrossSect
Definition:
CosMuoGenProducer.h:81
edm::CosMuoGenProducer::MultiMuon
bool MultiMuon
Definition:
CosMuoGenProducer.h:52
MillePedeFileConverter_cfg.e
e
Definition:
MillePedeFileConverter_cfg.py:37
edm::CosMuoGenProducer::MultiMuonFileFirstEvent
int32_t MultiMuonFileFirstEvent
Definition:
CosMuoGenProducer.h:54
Generated for CMSSW Reference Manual by
1.8.16