RecoEgamma
EgammaHFProducers
plugins
HFClusterAlgo.h
Go to the documentation of this file.
1
#ifndef RECOLOCALCALO_HFCLUSTERPRODUCER_HFCLUSTERALGO_H
2
#define RECOLOCALCALO_HFCLUSTERPRODUCER_HFCLUSTERALGO_H 1
3
4
#include "
DataFormats/HcalRecHit/interface/HcalRecHitCollections.h
"
5
#include "
Geometry/CaloGeometry/interface/CaloGeometry.h
"
6
#include "
DataFormats/EgammaReco/interface/HFEMClusterShape.h
"
7
#include "
DataFormats/EgammaReco/interface/SuperCluster.h
"
8
#include "
DataFormats/EgammaReco/interface/HFEMClusterShapeAssociation.h
"
9
#include "
DataFormats/EgammaReco/interface/HFEMClusterShape.h
"
10
#include "
DataFormats/EgammaReco/interface/SuperClusterFwd.h
"
11
16
//$Id:HFClusterAlgo.h,v 1.2 2007/09/19 09:52 K. Klapoetke Minnesota
17
18
class
HFClusterAlgo
{
19
public
:
20
HFClusterAlgo
();
21
22
void
setup
(
double
minTowerEnergy
,
23
double
seedThreshold,
24
double
maximumSL
,
25
double
m_maximumRenergy
,
26
bool
usePMTflag,
27
bool
usePulseflag,
28
bool
forcePulseFlagMC
,
29
int
correctionSet);
30
31
void
isMC
(
bool
isMC
) {
m_isMC
=
isMC
; }
32
34
void
clusterize
(
const
HFRecHitCollection
&
hf
,
35
const
CaloGeometry
&
geom
,
36
reco::HFEMClusterShapeCollection
&
clusters
,
37
reco::SuperClusterCollection
& SuperClusters);
38
39
void
resetForRun
();
40
41
private
:
42
friend
class
CompareHFCompleteHitET
;
43
friend
class
CompareHFCore
;
44
45
double
m_minTowerEnergy
,
m_seedThreshold
,
m_maximumSL
,
m_maximumRenergy
;
46
bool
m_usePMTFlag
;
47
bool
m_usePulseFlag
,
m_forcePulseFlagMC
;
48
bool
m_isMC
;
49
int
m_correctionSet
;
50
std::vector<double>
m_cutByEta
;
51
std::vector<double>
m_correctionByEta
;
52
std::vector<double>
m_seedmnEta
;
53
std::vector<double>
m_seedMXeta
;
54
std::vector<double>
m_seedmnPhi
;
55
std::vector<double>
m_seedMXphi
;
56
struct
HFCompleteHit
{
57
HcalDetId
id
;
58
double
energy
,
et
;
59
};
60
bool
isPMTHit
(
const
HFRecHit
& hfr);
61
bool
makeCluster
(
const
HcalDetId
& seedid,
62
const
HFRecHitCollection
&
hf
,
63
const
CaloGeometry
*
geom
,
64
reco::HFEMClusterShape
& clusShp,
65
reco::SuperCluster
& SClus);
66
};
67
68
#endif
HFClusterAlgo::HFCompleteHit::energy
double energy
Definition:
HFClusterAlgo.h:58
HFClusterAlgo::m_seedmnPhi
std::vector< double > m_seedmnPhi
Definition:
HFClusterAlgo.h:54
HFEMClusterShapeAssociation.h
HFClusterAlgo::clusterize
void clusterize(const HFRecHitCollection &hf, const CaloGeometry &geom, reco::HFEMClusterShapeCollection &clusters, reco::SuperClusterCollection &SuperClusters)
Definition:
HFClusterAlgo.cc:86
reco::SuperCluster
Definition:
SuperCluster.h:18
hfClusterShapes_cfi.forcePulseFlagMC
forcePulseFlagMC
Definition:
hfClusterShapes_cfi.py:11
reco::HFEMClusterShapeCollection
std::vector< HFEMClusterShape > HFEMClusterShapeCollection
Definition:
HFEMClusterShapeFwd.h:8
HFClusterAlgo::m_seedmnEta
std::vector< double > m_seedmnEta
Definition:
HFClusterAlgo.h:52
HFClusterAlgo::m_maximumRenergy
double m_maximumRenergy
Definition:
HFClusterAlgo.h:45
HFClusterAlgo::HFCompleteHit
Definition:
HFClusterAlgo.h:56
edm::SortedCollection
Definition:
SortedCollection.h:49
HFClusterAlgo::m_seedMXphi
std::vector< double > m_seedMXphi
Definition:
HFClusterAlgo.h:55
HFClusterAlgo::m_isMC
bool m_isMC
Definition:
HFClusterAlgo.h:48
HFClusterAlgo::m_correctionByEta
std::vector< double > m_correctionByEta
Definition:
HFClusterAlgo.h:51
reco::SuperClusterCollection
std::vector< SuperCluster > SuperClusterCollection
collection of SuperCluser objectr
Definition:
SuperClusterFwd.h:9
HFClusterAlgo::m_minTowerEnergy
double m_minTowerEnergy
Definition:
HFClusterAlgo.h:45
CaloGeometry
Definition:
CaloGeometry.h:21
reco::HFEMClusterShape
Definition:
HFEMClusterShape.h:20
photonIsolationHIProducer_cfi.hf
hf
Definition:
photonIsolationHIProducer_cfi.py:9
HFClusterAlgo::m_seedThreshold
double m_seedThreshold
Definition:
HFClusterAlgo.h:45
HFRecHit
Definition:
HFRecHit.h:11
HFClusterAlgo::makeCluster
bool makeCluster(const HcalDetId &seedid, const HFRecHitCollection &hf, const CaloGeometry *geom, reco::HFEMClusterShape &clusShp, reco::SuperCluster &SClus)
Definition:
HFClusterAlgo.cc:193
HFClusterAlgo::isPMTHit
bool isPMTHit(const HFRecHit &hfr)
Definition:
HFClusterAlgo.cc:389
relativeConstraints.geom
geom
Definition:
relativeConstraints.py:72
HFClusterAlgo::m_seedMXeta
std::vector< double > m_seedMXeta
Definition:
HFClusterAlgo.h:53
HFClusterAlgo::setup
void setup(double minTowerEnergy, double seedThreshold, double maximumSL, double m_maximumRenergy, bool usePMTflag, bool usePulseflag, bool forcePulseFlagMC, int correctionSet)
Definition:
HFClusterAlgo.cc:37
HFClusterAlgo::HFClusterAlgo
HFClusterAlgo()
Definition:
HFClusterAlgo.cc:16
hfClusterShapes_cfi.maximumSL
maximumSL
Definition:
hfClusterShapes_cfi.py:8
CompareHFCore
Definition:
HFClusterAlgo.cc:27
bsc_activity_cfg.clusters
clusters
Definition:
bsc_activity_cfg.py:36
HFClusterAlgo::resetForRun
void resetForRun()
Definition:
HFClusterAlgo.cc:400
HcalDetId
Definition:
HcalDetId.h:12
HFClusterAlgo::m_maximumSL
double m_maximumSL
Definition:
HFClusterAlgo.h:45
hfClusterShapes_cfi.minTowerEnergy
minTowerEnergy
Definition:
hfClusterShapes_cfi.py:6
HFClusterAlgo::m_usePMTFlag
bool m_usePMTFlag
Definition:
HFClusterAlgo.h:46
CompareHFCompleteHitET
Definition:
HFClusterAlgo.cc:20
HFClusterAlgo::HFCompleteHit::et
double et
Definition:
HFClusterAlgo.h:58
HFClusterAlgo
Definition:
HFClusterAlgo.h:18
HFClusterAlgo::m_correctionSet
int m_correctionSet
Definition:
HFClusterAlgo.h:49
SuperClusterFwd.h
SuperCluster.h
CaloGeometry.h
HFClusterAlgo::m_cutByEta
std::vector< double > m_cutByEta
Definition:
HFClusterAlgo.h:50
HcalRecHitCollections.h
HFClusterAlgo::m_usePulseFlag
bool m_usePulseFlag
Definition:
HFClusterAlgo.h:47
HFClusterAlgo::isMC
void isMC(bool isMC)
Definition:
HFClusterAlgo.h:31
HFClusterAlgo::HFCompleteHit::id
HcalDetId id
Definition:
HFClusterAlgo.h:57
HFEMClusterShape.h
HFClusterAlgo::m_forcePulseFlagMC
bool m_forcePulseFlagMC
Definition:
HFClusterAlgo.h:47
Generated for CMSSW Reference Manual by
1.8.16