Main Page
Namespaces
Classes
Package Documentation
GeneratorInterface
GenFilters
interface
PythiaFilterIsolatedTrack.h
Go to the documentation of this file.
1
#ifndef PythiaFilterIsolatedTrack_h
2
#define PythiaFilterIsolatedTrack_h
3
17
// system include files
18
#include <atomic>
19
#include <memory>
20
21
// Root objects
22
#include "TH1F.h"
23
24
// user include files
25
#include "
FWCore/Framework/interface/Frameworkfwd.h
"
26
#include "
FWCore/Framework/interface/stream/EDFilter.h
"
27
28
#include "
FWCore/Framework/interface/Event.h
"
29
#include "
FWCore/Framework/interface/MakerMacros.h
"
30
31
#include "
FWCore/ParameterSet/interface/ParameterSet.h
"
32
33
#include "
FWCore/ServiceRegistry/interface/Service.h
"
34
#include "
SimDataFormats/GeneratorProducts/interface/HepMCProduct.h
"
35
36
namespace
PythiaFilterIsoTracks
{
37
struct
Counters
{
38
Counters
() :
nAll_
(0),
nGood_
(0) {}
39
mutable
std::atomic<unsigned int>
nAll_
,
nGood_
;
40
};
41
}
42
43
class
PythiaFilterIsolatedTrack
:
public
edm::stream::EDFilter
<edm::GlobalCache<PythiaFilterIsoTracks::Counters> > {
44
45
public
:
46
explicit
PythiaFilterIsolatedTrack
(
const
edm::ParameterSet
&,
const
PythiaFilterIsoTracks::Counters
*
count
);
47
~
PythiaFilterIsolatedTrack
()
override
;
48
49
static
std::unique_ptr<PythiaFilterIsoTracks::Counters>
initializeGlobalCache
(
edm::ParameterSet
const
& ) {
50
return
std::unique_ptr<PythiaFilterIsoTracks::Counters>(
new
PythiaFilterIsoTracks::Counters
());
51
}
52
53
bool
filter
(
edm::Event
&,
edm::EventSetup
const
&)
override
;
54
void
endStream()
override
;
55
static
void
globalEndJob(
const
PythiaFilterIsoTracks::Counters
* counters);
56
57
// helper functions
58
std::pair<double,double> GetEtaPhiAtEcal(
double
etaIP,
double
phiIP,
double
pT
,
int
charge
,
double
vtxZ);
59
double
getDistInCM(
double
eta1,
double
phi1,
double
eta2,
double
phi2);
60
61
private
:
62
63
// parameters
64
edm::EDGetTokenT<edm::HepMCProduct>
token_
;
// token to get the generated particles
65
double
MaxSeedEta_
;
// maximum eta of the isolated track seed
66
double
MinSeedMom_
;
// minimum momentum of the isolated track seed
67
double
MinIsolTrackMom_
;
// minimum prohibited momentum of a nearby track
68
double
IsolCone_
;
// cone size (in mm) around the seed to consider a track "nearby"
69
bool
onlyHadrons_
;
// select only isolated hadrons
70
71
unsigned
int
nAll_
,
nGood_
;
72
double
ecDist_
;
//distance to ECAL andcap from IP (cm)
73
double
ecRad_
;
//radius of ECAL barrel (cm)
74
};
75
#endif
PythiaFilterIsolatedTrack::initializeGlobalCache
static std::unique_ptr< PythiaFilterIsoTracks::Counters > initializeGlobalCache(edm::ParameterSet const &)
Definition:
PythiaFilterIsolatedTrack.h:49
PythiaFilterIsolatedTrack::nGood_
unsigned int nGood_
Definition:
PythiaFilterIsolatedTrack.h:71
EDFilter.h
KineDebug3::count
void count()
Definition:
KinematicConstrainedVertexUpdatorT.h:23
Event.h
PythiaFilterIsoTracks::Counters::Counters
Counters()
Definition:
PythiaFilterIsolatedTrack.h:38
MakerMacros.h
PythiaFilterIsoTracks
Definition:
PythiaFilterIsolatedTrack.h:36
PythiaFilterIsolatedTrack::MinIsolTrackMom_
double MinIsolTrackMom_
Definition:
PythiaFilterIsolatedTrack.h:67
edm::EDGetTokenT< edm::HepMCProduct >
Frameworkfwd.h
PythiaFilterIsolatedTrack
Definition:
PythiaFilterIsolatedTrack.h:43
ParameterSet.h
PythiaFilterIsoTracks::Counters::nAll_
std::atomic< unsigned int > nAll_
Definition:
PythiaFilterIsolatedTrack.h:39
PythiaFilterIsolatedTrack::token_
edm::EDGetTokenT< edm::HepMCProduct > token_
Definition:
PythiaFilterIsolatedTrack.h:64
Service.h
edm::EventSetup
Definition:
EventSetup.h:57
ALCARECOTkAlJpsiMuMu_cff.charge
charge
Definition:
ALCARECOTkAlJpsiMuMu_cff.py:47
PythiaFilterIsolatedTrack::ecRad_
double ecRad_
Definition:
PythiaFilterIsolatedTrack.h:73
HepMCProduct.h
PythiaFilterIsoTracks::Counters::nGood_
std::atomic< unsigned int > nGood_
Definition:
PythiaFilterIsolatedTrack.h:39
PythiaFilterIsolatedTrack::MaxSeedEta_
double MaxSeedEta_
Definition:
PythiaFilterIsolatedTrack.h:65
ALCARECOTkAlBeamHalo_cff.filter
filter
Definition:
ALCARECOTkAlBeamHalo_cff.py:27
PythiaFilterIsolatedTrack::ecDist_
double ecDist_
Definition:
PythiaFilterIsolatedTrack.h:72
PythiaFilterIsolatedTrack::MinSeedMom_
double MinSeedMom_
Definition:
PythiaFilterIsolatedTrack.h:66
edm::stream::EDFilter
Definition:
EDFilter.h:38
edm::ParameterSet
Definition:
ParameterSet.h:36
PythiaFilterIsolatedTrack::IsolCone_
double IsolCone_
Definition:
PythiaFilterIsolatedTrack.h:68
edm::Event
Definition:
Event.h:71
PVValHelper::pT
Definition:
PVValidationHelpers.h:66
PythiaFilterIsoTracks::Counters
Definition:
PythiaFilterIsolatedTrack.h:37
PythiaFilterIsolatedTrack::onlyHadrons_
bool onlyHadrons_
Definition:
PythiaFilterIsolatedTrack.h:69
Generated for CMSSW Reference Manual by
1.8.11