RecoEgamma
EgammaPhotonAlgos
interface
ConversionTrackEcalImpactPoint.h
Go to the documentation of this file.
1
#ifndef ConversionTrackEcalImpactPoint_H
2
#define ConversionTrackEcalImpactPoint_H
3
13
#include "
DataFormats/TrajectorySeed/interface/PropagationDirection.h
"
14
#include "
DataFormats/TrackReco/interface/Track.h
"
15
#include "
DataFormats/TrackReco/interface/TrackExtra.h
"
16
//
17
#include "
FWCore/Framework/interface/ESHandle.h
"
18
#include "
FWCore/Framework/interface/EventSetup.h
"
19
#include "
FWCore/Framework/interface/Event.h
"
20
//
21
#include "
DataFormats/Common/interface/Handle.h
"
22
#include "
DataFormats/EgammaTrackReco/interface/TrackSuperClusterAssociation.h
"
23
#include "
DataFormats/CaloRecHit/interface/CaloCluster.h
"
24
#include "
DataFormats/CaloRecHit/interface/CaloClusterFwd.h
"
25
//
26
#include "
TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h
"
27
#include "
TrackingTools/TransientTrack/interface/TransientTrack.h
"
28
#include "
TrackingTools/TransientTrack/interface/TrackTransientTrack.h
"
29
#include "
TrackingTools/MaterialEffects/interface/PropagatorWithMaterial.h
"
30
//
31
#include "
DataFormats/GeometrySurface/interface/SimpleCylinderBounds.h
"
32
#include "
DataFormats/GeometrySurface/interface/SimpleDiskBounds.h
"
33
#include "
DataFormats/GeometrySurface/interface/Cylinder.h
"
34
#include "
DataFormats/GeometrySurface/interface/BoundCylinder.h
"
35
#include "
DataFormats/GeometrySurface/interface/BoundDisk.h
"
36
37
class
ConversionTrackEcalImpactPoint
{
38
public
:
39
ConversionTrackEcalImpactPoint
(
const
MagneticField
* field);
40
41
~ConversionTrackEcalImpactPoint
();
42
43
std::vector<math::XYZPointF>
find
(
const
std::vector<reco::TransientTrack>&
tracks
,
44
const
edm::Handle
<
edm::View<reco::CaloCluster>
>& bcHandle);
45
46
std::vector<reco::CaloClusterPtr>
matchingBC
()
const
{
return
matchingBC_
; }
47
void
setMagneticField
(
const
MagneticField
* mf) {
theMF_
= mf; }
48
49
private
:
50
const
MagneticField
*
theMF_
;
51
52
TrajectoryStateOnSurface
stateAtECAL_
;
53
54
PropagatorWithMaterial
*
forwardPropagator_
;
55
PropagationDirection
dir_
;
56
std::vector<reco::CaloClusterPtr>
matchingBC_
;
57
58
static
const
ReferenceCountingPointer<BoundCylinder>
theBarrel_
;
59
static
const
ReferenceCountingPointer<BoundDisk>
theNegativeEtaEndcap_
;
60
static
const
ReferenceCountingPointer<BoundDisk>
thePositiveEtaEndcap_
;
61
62
static
const
BoundCylinder
&
barrel
() {
return
*
theBarrel_
; }
63
static
const
BoundDisk
&
negativeEtaEndcap
() {
return
*
theNegativeEtaEndcap_
; }
64
static
const
BoundDisk
&
positiveEtaEndcap
() {
return
*
thePositiveEtaEndcap_
; }
65
};
66
67
#endif // ConversionTrackEcalImpactPoint_H
TrackExtra.h
TrajectoryStateOnSurface.h
Handle.h
PDWG_EXOHSCP_cff.tracks
tracks
Definition:
PDWG_EXOHSCP_cff.py:28
Cylinder.h
ConversionTrackEcalImpactPoint::find
std::vector< math::XYZPointF > find(const std::vector< reco::TransientTrack > &tracks, const edm::Handle< edm::View< reco::CaloCluster > > &bcHandle)
Definition:
ConversionTrackEcalImpactPoint.cc:56
ESHandle.h
BoundDisk.h
ConversionTrackEcalImpactPoint::setMagneticField
void setMagneticField(const MagneticField *mf)
Definition:
ConversionTrackEcalImpactPoint.h:47
SimpleCylinderBounds.h
ConversionTrackEcalImpactPoint::matchingBC_
std::vector< reco::CaloClusterPtr > matchingBC_
Definition:
ConversionTrackEcalImpactPoint.h:56
ReferenceCountingPointer< BoundCylinder >
BoundCylinder.h
ConversionTrackEcalImpactPoint::theNegativeEtaEndcap_
static const ReferenceCountingPointer< BoundDisk > theNegativeEtaEndcap_
Definition:
ConversionTrackEcalImpactPoint.h:59
TransientTrack.h
edm::Handle
Definition:
AssociativeIterator.h:50
BoundDisk
TrajectoryStateOnSurface
Definition:
TrajectoryStateOnSurface.h:16
ConversionTrackEcalImpactPoint::positiveEtaEndcap
static const BoundDisk & positiveEtaEndcap()
Definition:
ConversionTrackEcalImpactPoint.h:64
PropagatorWithMaterial
Definition:
PropagatorWithMaterial.h:25
Track.h
TrackSuperClusterAssociation.h
ConversionTrackEcalImpactPoint::ConversionTrackEcalImpactPoint
ConversionTrackEcalImpactPoint(const MagneticField *field)
Definition:
ConversionTrackEcalImpactPoint.cc:47
CaloClusterFwd.h
ConversionTrackEcalImpactPoint::dir_
PropagationDirection dir_
Definition:
ConversionTrackEcalImpactPoint.h:55
edm::View
Definition:
CaloClusterFwd.h:14
ConversionTrackEcalImpactPoint::thePositiveEtaEndcap_
static const ReferenceCountingPointer< BoundDisk > thePositiveEtaEndcap_
Definition:
ConversionTrackEcalImpactPoint.h:60
Event.h
PropagatorWithMaterial.h
ConversionTrackEcalImpactPoint::barrel
static const BoundCylinder & barrel()
Definition:
ConversionTrackEcalImpactPoint.h:62
ConversionTrackEcalImpactPoint::stateAtECAL_
TrajectoryStateOnSurface stateAtECAL_
Definition:
ConversionTrackEcalImpactPoint.h:52
ConversionTrackEcalImpactPoint::forwardPropagator_
PropagatorWithMaterial * forwardPropagator_
Definition:
ConversionTrackEcalImpactPoint.h:54
TrackTransientTrack.h
PropagationDirection.h
PropagationDirection
PropagationDirection
Definition:
PropagationDirection.h:4
ConversionTrackEcalImpactPoint::theMF_
const MagneticField * theMF_
Definition:
ConversionTrackEcalImpactPoint.h:50
ConversionTrackEcalImpactPoint::theBarrel_
static const ReferenceCountingPointer< BoundCylinder > theBarrel_
Definition:
ConversionTrackEcalImpactPoint.h:58
EventSetup.h
BoundCylinder
ConversionTrackEcalImpactPoint::matchingBC
std::vector< reco::CaloClusterPtr > matchingBC() const
Definition:
ConversionTrackEcalImpactPoint.h:46
ConversionTrackEcalImpactPoint
Definition:
ConversionTrackEcalImpactPoint.h:37
ConversionTrackEcalImpactPoint::~ConversionTrackEcalImpactPoint
~ConversionTrackEcalImpactPoint()
Definition:
ConversionTrackEcalImpactPoint.cc:54
SimpleDiskBounds.h
MagneticField
Definition:
MagneticField.h:19
ConversionTrackEcalImpactPoint::negativeEtaEndcap
static const BoundDisk & negativeEtaEndcap()
Definition:
ConversionTrackEcalImpactPoint.h:63
CaloCluster.h
Generated for CMSSW Reference Manual by
1.8.16