CMS 3D CMS Logo

IsolatedPixelTrackCandidateProducer.cc
Go to the documentation of this file.
1 #include <vector>
2 #include <memory>
3 #include <algorithm>
4 #include <cmath>
5 
6 // Class header file
9 // Framework
17 
18 // Math
19 #include "Math/GenVector/VectorUtil.h"
20 #include "Math/GenVector/PxPyPzE4D.h"
22 
23 //magF
27 
28 //for ECAL geometry
34 
35 //#define DebugLog
36 
38  : tok_hlt_(consumes<trigger::TriggerFilterObjectWithRefs>(config.getParameter<edm::InputTag>("L1GTSeedLabel"))),
39  tok_l1_(consumes<l1extra::L1JetParticleCollection>(config.getParameter<edm::InputTag>("L1eTauJetsSource"))),
40  tok_vert_(consumes<reco::VertexCollection>(config.getParameter<edm::InputTag>("VertexLabel"))),
41  toks_pix_(
42  edm::vector_transform(config.getParameter<std::vector<edm::InputTag> >("PixelTracksSources"),
43  [this](edm::InputTag const& tag) { return consumes<reco::TrackCollection>(tag); })),
44  bfield_(config.getParameter<std::string>("MagFieldRecordName")),
45  prelimCone_(config.getParameter<double>("ExtrapolationConeSize")),
46  pixelIsolationConeSizeAtEC_(config.getParameter<double>("PixelIsolationConeSizeAtEC")),
47  vtxCutSeed_(config.getParameter<double>("MaxVtxDXYSeed")),
48  vtxCutIsol_(config.getParameter<double>("MaxVtxDXYIsol")),
49  tauAssocCone_(config.getParameter<double>("tauAssociationCone")),
50  tauUnbiasCone_(config.getParameter<double>("tauUnbiasCone")),
51  minPTrackValue_(config.getParameter<double>("minPTrack")),
52  maxPForIsolationValue_(config.getParameter<double>("maxPTrackForIsolation")),
53  ebEtaBoundary_(config.getParameter<double>("EBEtaBoundary")),
54  rEB_(-1),
55  zEE_(-1),
56  bfVal_(0) {
57  // Register the product
58  produces<reco::IsolatedPixelTrackCandidateCollection>();
59 }
60 
62 
65  std::vector<edm::InputTag> tracksrc = {edm::InputTag("hltPixelTracks")};
66  desc.add<edm::InputTag>("L1eTauJetsSource", edm::InputTag("hltCaloStage2Digis", "Tau"));
67  desc.add<double>("tauAssociationCone", 0.0);
68  desc.add<double>("tauUnbiasCone", 1.2);
69  desc.add<std::vector<edm::InputTag> >("PixelTracksSources", tracksrc);
70  desc.add<double>("ExtrapolationConeSize", 1.0);
71  desc.add<double>("PixelIsolationConeSizeAtEC", 40);
72  desc.add<edm::InputTag>("L1GTSeedLabel", edm::InputTag("hltL1sIsoTrack"));
73  desc.add<double>("MaxVtxDXYSeed", 101.0);
74  desc.add<double>("MaxVtxDXYIsol", 101.0);
75  desc.add<edm::InputTag>("VertexLabel", edm::InputTag("hltTrimmedPixelVertices"));
76  desc.add<std::string>("MagFieldRecordName", "VolumeBasedMagneticField");
77  desc.add<double>("minPTrack", 5.0);
78  desc.add<double>("maxPTrackForIsolation", 3.0);
79  desc.add<double>("EBEtaBoundary", 1.479);
80  descriptions.add("isolPixelTrackProd", desc);
81 }
82 
85  theEventSetup.get<CaloGeometryRecord>().get(pG);
86 
87  const double rad(dynamic_cast<const EcalBarrelGeometry*>(pG->getSubdetectorGeometry(DetId::Ecal, EcalBarrel))
88  ->avgRadiusXYFrontFaceCenter());
89  const double zz(dynamic_cast<const EcalEndcapGeometry*>(pG->getSubdetectorGeometry(DetId::Ecal, EcalEndcap))
90  ->avgAbsZFrontFaceCenter());
91 
92  rEB_ = rad;
93  zEE_ = zz;
94 
96  theEventSetup.get<IdealMagneticFieldRecord>().get(vbfField);
97  const VolumeBasedMagneticField* vbfCPtr = dynamic_cast<const VolumeBasedMagneticField*>(&(*vbfField));
98  GlobalVector BField = vbfCPtr->inTesla(GlobalPoint(0, 0, 0));
99  bfVal_ = BField.mag();
100 }
101 
103  auto trackCollection = std::make_unique<reco::IsolatedPixelTrackCandidateCollection>();
104 
105  //create vector of refs from input collections
106  std::vector<reco::TrackRef> pixelTrackRefs;
107 #ifdef DebugLog
108  edm::LogInfo("HcalIsoTrack") << "IsolatedPixelTrakCandidate: with" << toks_pix_.size()
109  << " candidates to start with\n";
110 #endif
111  for (unsigned int iPix = 0; iPix < toks_pix_.size(); iPix++) {
113  theEvent.getByToken(toks_pix_[iPix], iPixCol);
114  for (reco::TrackCollection::const_iterator pit = iPixCol->begin(); pit != iPixCol->end(); pit++) {
115  pixelTrackRefs.push_back(reco::TrackRef(iPixCol, pit - iPixCol->begin()));
116  }
117  }
118 
120  theEvent.getByToken(tok_l1_, l1eTauJets);
121 
123  theEvent.getByToken(tok_vert_, pVert);
124 
125  double drMaxL1Track_ = tauAssocCone_;
126 
127  int ntr = 0;
128  std::vector<seedAtEC> VecSeedsatEC;
129  //loop to select isolated tracks
130  for (unsigned iS = 0; iS < pixelTrackRefs.size(); iS++) {
131  bool vtxMatch = false;
132  //associate to vertex (in Z)
133  reco::VertexCollection::const_iterator vitSel;
134  double minDZ = 1000;
135  bool found(false);
136  for (reco::VertexCollection::const_iterator vit = pVert->begin(); vit != pVert->end(); vit++) {
137  if (std::abs(pixelTrackRefs[iS]->dz(vit->position())) < minDZ) {
138  minDZ = std::abs(pixelTrackRefs[iS]->dz(vit->position()));
139  vitSel = vit;
140  found = true;
141  }
142  }
143  //cut on dYX:
144  if (found) {
145  if (std::abs(pixelTrackRefs[iS]->dxy(vitSel->position())) < vtxCutSeed_)
146  vtxMatch = true;
147  } else {
148  vtxMatch = true;
149  }
150 
151  //check taujet matching
152  bool tmatch = false;
153  l1extra::L1JetParticleCollection::const_iterator selj;
154  for (l1extra::L1JetParticleCollection::const_iterator tj = l1eTauJets->begin(); tj != l1eTauJets->end(); tj++) {
155  if (reco::deltaR(pixelTrackRefs[iS]->momentum().eta(),
156  pixelTrackRefs[iS]->momentum().phi(),
157  tj->momentum().eta(),
158  tj->momentum().phi()) > drMaxL1Track_)
159  continue;
160  selj = tj;
161  tmatch = true;
162  } //loop over L1 tau
163 
164  //propagate seed track to ECAL surface:
165  std::pair<double, double> seedCooAtEC;
166  // in case vertex is found:
167  if (found)
168  seedCooAtEC = GetEtaPhiAtEcal(pixelTrackRefs[iS]->eta(),
169  pixelTrackRefs[iS]->phi(),
170  pixelTrackRefs[iS]->pt(),
171  pixelTrackRefs[iS]->charge(),
172  vitSel->z());
173  //in case vertex is not found:
174  else
175  seedCooAtEC = GetEtaPhiAtEcal(pixelTrackRefs[iS]->eta(),
176  pixelTrackRefs[iS]->phi(),
177  pixelTrackRefs[iS]->pt(),
178  pixelTrackRefs[iS]->charge(),
179  0);
180  seedAtEC seed(iS, (tmatch || vtxMatch), seedCooAtEC.first, seedCooAtEC.second);
181  VecSeedsatEC.push_back(seed);
182  }
183 #ifdef DebugLog
184  edm::LogInfo("HcalIsoTrack") << "IsolatedPixelTrakCandidate: " << VecSeedsatEC.size() << " seeds after propagation\n";
185 #endif
186 
187  for (unsigned int i = 0; i < VecSeedsatEC.size(); i++) {
188  unsigned int iSeed = VecSeedsatEC[i].index;
189  if (!VecSeedsatEC[i].ok)
190  continue;
191  if (pixelTrackRefs[iSeed]->p() < minPTrackValue_)
192  continue;
193  l1extra::L1JetParticleCollection::const_iterator selj;
194  for (l1extra::L1JetParticleCollection::const_iterator tj = l1eTauJets->begin(); tj != l1eTauJets->end(); tj++) {
195  if (reco::deltaR(pixelTrackRefs[iSeed]->momentum().eta(),
196  pixelTrackRefs[iSeed]->momentum().phi(),
197  tj->momentum().eta(),
198  tj->momentum().phi()) > drMaxL1Track_)
199  continue;
200  selj = tj;
201  } //loop over L1 tau
202  double maxP = 0;
203  double sumP = 0;
204  for (unsigned int j = 0; j < VecSeedsatEC.size(); j++) {
205  if (i == j)
206  continue;
207  unsigned int iSurr = VecSeedsatEC[j].index;
208  //define preliminary cone around seed track impact point from which tracks will be extrapolated:
209  if (reco::deltaR(pixelTrackRefs[iSeed]->eta(),
210  pixelTrackRefs[iSeed]->phi(),
211  pixelTrackRefs[iSurr]->eta(),
212  pixelTrackRefs[iSurr]->phi()) > prelimCone_)
213  continue;
214  double minDZ2(1000);
215  bool found(false);
216  reco::VertexCollection::const_iterator vitSel2;
217  for (reco::VertexCollection::const_iterator vit = pVert->begin(); vit != pVert->end(); vit++) {
218  if (std::abs(pixelTrackRefs[iSurr]->dz(vit->position())) < minDZ2) {
219  minDZ2 = std::abs(pixelTrackRefs[iSurr]->dz(vit->position()));
220  vitSel2 = vit;
221  found = true;
222  }
223  }
224  //cut ot dXY:
225  if (found && std::abs(pixelTrackRefs[iSurr]->dxy(vitSel2->position())) > vtxCutIsol_)
226  continue;
227  //calculate distance at ECAL surface and update isolation:
228  if (getDistInCM(VecSeedsatEC[i].eta, VecSeedsatEC[i].phi, VecSeedsatEC[j].eta, VecSeedsatEC[j].phi) <
230  sumP += pixelTrackRefs[iSurr]->p();
231  if (pixelTrackRefs[iSurr]->p() > maxP)
232  maxP = pixelTrackRefs[iSurr]->p();
233  }
234  }
237  pixelTrackRefs[iSeed], l1extra::L1JetParticleRef(l1eTauJets, selj - l1eTauJets->begin()), maxP, sumP);
238  newCandidate.setEtaPhiEcal(VecSeedsatEC[i].eta, VecSeedsatEC[i].phi);
239  trackCollection->push_back(newCandidate);
240  ntr++;
241  }
242  }
243  // put the product in the event
244  theEvent.put(std::move(trackCollection));
245 #ifdef DebugLog
246  edm::LogInfo("HcalIsoTrack") << "IsolatedPixelTrackCandidate: Final # of candiates " << ntr << "\n";
247 #endif
248 }
249 
250 double IsolatedPixelTrackCandidateProducer::getDistInCM(double eta1, double phi1, double eta2, double phi2) {
251  double Rec;
252  double theta1 = 2 * atan(exp(-eta1));
253  double theta2 = 2 * atan(exp(-eta2));
254  if (std::abs(eta1) < 1.479)
255  Rec = rEB_; //radius of ECAL barrel
256  else if (std::abs(eta1) > 1.479 && std::abs(eta1) < 7.0)
257  Rec = tan(theta1) * zEE_; //distance from IP to ECAL endcap
258  else
259  return 1000;
260 
261  //|vect| times tg of acos(scalar product)
262  double angle =
263  acos((sin(theta1) * sin(theta2) * (sin(phi1) * sin(phi2) + cos(phi1) * cos(phi2)) + cos(theta1) * cos(theta2)));
264  if (angle < M_PI_2)
265  return std::abs((Rec / sin(theta1)) * tan(angle));
266  else
267  return 1000;
268 }
269 
271  double etaIP, double phiIP, double pT, int charge, double vtxZ) {
272  double deltaPhi = 0;
273  double etaEC = 100;
274  double phiEC = 100;
275 
276  double Rcurv = 9999999;
277  if (bfVal_ != 0)
278  Rcurv = pT * 33.3 * 100 / (bfVal_ * 10); //r(m)=pT(GeV)*33.3/B(kG)
279 
280  double ecDist = zEE_; //distance to ECAL andcap from IP (cm), 317 - ecal (not preshower), preshower -300
281  double ecRad = rEB_; //radius of ECAL barrel (cm)
282  double theta = 2 * atan(exp(-etaIP));
283  double zNew = 0;
284  if (theta > M_PI_2)
285  theta = M_PI - theta;
286  if (std::abs(etaIP) < ebEtaBoundary_) {
287  if ((0.5 * ecRad / Rcurv) > 1) {
288  etaEC = 10000;
289  deltaPhi = 0;
290  } else {
291  deltaPhi = -charge * asin(0.5 * ecRad / Rcurv);
292  double alpha1 = 2 * asin(0.5 * ecRad / Rcurv);
293  double z = ecRad / tan(theta);
294  if (etaIP > 0)
295  zNew = z * (Rcurv * alpha1) / ecRad + vtxZ; //new z-coordinate of track
296  else
297  zNew = -z * (Rcurv * alpha1) / ecRad + vtxZ; //new z-coordinate of track
298  double zAbs = std::abs(zNew);
299  if (zAbs < ecDist) {
300  etaEC = -log(tan(0.5 * atan(ecRad / zAbs)));
301  deltaPhi = -charge * asin(0.5 * ecRad / Rcurv);
302  }
303  if (zAbs > ecDist) {
304  zAbs = (std::abs(etaIP) / etaIP) * ecDist;
305  double Zflight = std::abs(zAbs - vtxZ);
306  double alpha = (Zflight * ecRad) / (z * Rcurv);
307  double Rec = 2 * Rcurv * sin(alpha / 2);
308  deltaPhi = -charge * alpha / 2;
309  etaEC = -log(tan(0.5 * atan(Rec / ecDist)));
310  }
311  }
312  } else {
313  zNew = (std::abs(etaIP) / etaIP) * ecDist;
314  double Zflight = std::abs(zNew - vtxZ);
315  double Rvirt = std::abs(Zflight * tan(theta));
316  double Rec = 2 * Rcurv * sin(Rvirt / (2 * Rcurv));
317  deltaPhi = -(charge) * (Rvirt / (2 * Rcurv));
318  etaEC = -log(tan(0.5 * atan(Rec / ecDist)));
319  }
320 
321  if (zNew < 0)
322  etaEC = -etaEC;
323  phiEC = phiIP + deltaPhi;
324 
325  if (phiEC < -M_PI)
326  phiEC += M_2_PI;
327  if (phiEC > M_PI)
328  phiEC -= M_2_PI;
329 
330  std::pair<double, double> retVal(etaEC, phiEC);
331  return retVal;
332 }
Vector3DBase
Definition: Vector3DBase.h:8
IsolatedPixelTrackCandidateProducer::minPTrackValue_
const double minPTrackValue_
Definition: IsolatedPixelTrackCandidateProducer.h:75
Handle.h
L1JetParticleCollection
mps_fire.i
i
Definition: mps_fire.py:428
geometryCSVtoXML.zz
zz
Definition: geometryCSVtoXML.py:19
EcalBarrelGeometry.h
IsolatedPixelTrackCandidateProducer::zEE_
double zEE_
Definition: IsolatedPixelTrackCandidateProducer.h:81
IsolatedPixelTrackCandidateProducer::beginRun
void beginRun(const edm::Run &, const edm::EventSetup &) override
Definition: IsolatedPixelTrackCandidateProducer.cc:83
ESTransientHandle.h
MessageLogger.h
ESHandle.h
IsolatedPixelTrackCandidateProducer::getDistInCM
double getDistInCM(double eta1, double phi1, double eta2, double phi2)
Definition: IsolatedPixelTrackCandidateProducer.cc:250
IsolatedPixelTrackCandidateProducer::vtxCutSeed_
const double vtxCutSeed_
Definition: IsolatedPixelTrackCandidateProducer.h:71
DiDispStaMuonMonitor_cfi.pt
pt
Definition: DiDispStaMuonMonitor_cfi.py:39
edm::Run
Definition: Run.h:45
zMuMuMuonUserData.alpha
alpha
zGenParticlesMatch = cms.InputTag(""),
Definition: zMuMuMuonUserData.py:9
CaloGeometryRecord
Definition: CaloGeometryRecord.h:30
edm
HLT enums.
Definition: AlignableModifier.h:19
IsolatedPixelTrackCandidateProducer::rEB_
double rEB_
Definition: IsolatedPixelTrackCandidateProducer.h:80
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
VolumeBasedMagneticField
Definition: VolumeBasedMagneticField.h:18
reco::VertexCollection
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89287
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
CaloGeometry::getSubdetectorGeometry
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
Definition: CaloGeometry.cc:34
reco::IsolatedPixelTrackCandidate
Definition: IsolatedPixelTrackCandidate.h:23
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:45
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
IsolatedPixelTrackCandidateProducer::GetEtaPhiAtEcal
std::pair< double, double > GetEtaPhiAtEcal(double etaIP, double phiIP, double pT, int charge, double vtxZ)
Definition: IsolatedPixelTrackCandidateProducer.cc:270
ProducerES_cfi.BField
BField
Definition: ProducerES_cfi.py:83
watchdog.const
const
Definition: watchdog.py:83
convertSQLiteXML.ok
bool ok
Definition: convertSQLiteXML.py:98
newFWLiteAna.found
found
Definition: newFWLiteAna.py:118
edm::Handle< reco::TrackCollection >
EcalBarrel
Definition: EcalSubdetector.h:10
edm::Ref< TrackCollection >
funct::sin
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
fileCollector.seed
seed
Definition: fileCollector.py:127
IdealMagneticFieldRecord
Definition: IdealMagneticFieldRecord.h:11
config
Definition: config.py:1
VolumeBasedMagneticField::inTesla
GlobalVector inTesla(const GlobalPoint &g) const override
Field value ad specified global point, in Tesla.
Definition: VolumeBasedMagneticField.cc:40
funct::cos
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
edm::EventSetup::get
T get() const
Definition: EventSetup.h:80
RecoMuonValidator_cfi.maxP
maxP
Definition: RecoMuonValidator_cfi.py:34
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
IsolatedPixelTrackCandidateProducer::vtxCutIsol_
const double vtxCutIsol_
Definition: IsolatedPixelTrackCandidateProducer.h:72
SiPixelRawToDigiRegional_cfi.deltaPhi
deltaPhi
Definition: SiPixelRawToDigiRegional_cfi.py:9
GlobalPosition_Frontier_DevDB_cff.tag
tag
Definition: GlobalPosition_Frontier_DevDB_cff.py:11
PVValHelper::eta
Definition: PVValidationHelpers.h:69
PVValHelper::pT
Definition: PVValidationHelpers.h:70
IsolatedPixelTrackCandidateProducer::seedAtEC
Definition: IsolatedPixelTrackCandidateProducer.h:56
HLT_FULL_cff.eta2
eta2
Definition: HLT_FULL_cff.py:9542
DDAxes::z
VolumeBasedMagneticField.h
IdealMagneticFieldRecord.h
edm::ESHandle< CaloGeometry >
IsolatedPixelTrackCandidateProducer::fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: IsolatedPixelTrackCandidateProducer.cc:63
IsolatedPixelTrackCandidateProducer::IsolatedPixelTrackCandidateProducer
IsolatedPixelTrackCandidateProducer(const edm::ParameterSet &ps)
Definition: IsolatedPixelTrackCandidateProducer.cc:37
theta
Geom::Theta< T > theta() const
Definition: Basic3DVectorLD.h:150
edm::Event::getByToken
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:531
IsolatedPixelTrackCandidateProducer::ebEtaBoundary_
const double ebEtaBoundary_
Definition: IsolatedPixelTrackCandidateProducer.h:77
GlobalPoint
Global3DPoint GlobalPoint
Definition: GlobalPoint.h:10
ParameterSetDescription.h
CaloGeometryRecord.h
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::vector_transform
auto vector_transform(std::vector< InputType > const &input, Function predicate) -> std::vector< typename std::remove_cv< typename std::remove_reference< decltype(predicate(input.front()))>::type >::type >
Definition: transform.h:11
EcalEndcap
Definition: EcalSubdetector.h:10
HLT_FULL_cff.eta1
eta1
Definition: HLT_FULL_cff.py:9541
ALCARECOTkAlJpsiMuMu_cff.charge
charge
Definition: ALCARECOTkAlJpsiMuMu_cff.py:47
IsolatedPixelTrackCandidateProducer::prelimCone_
const double prelimCone_
Definition: IsolatedPixelTrackCandidateProducer.h:69
CaloSubdetectorGeometry.h
edm::ParameterSet
Definition: ParameterSet.h:47
duplicaterechits_cfi.trackCollection
trackCollection
Definition: duplicaterechits_cfi.py:4
deltaR.h
EcalEndcapGeometry.h
IsolatedPixelTrackCandidateProducer::tauAssocCone_
const double tauAssocCone_
Definition: IsolatedPixelTrackCandidateProducer.h:73
IsolatedPixelTrackCandidateProducer::tok_vert_
const edm::EDGetTokenT< reco::VertexCollection > tok_vert_
Definition: IsolatedPixelTrackCandidateProducer.h:65
reco::IsolatedPixelTrackCandidate::setEtaPhiEcal
void setEtaPhiEcal(double eta, double phi)
eta, phi at ECAL surface
Definition: IsolatedPixelTrackCandidate.h:161
funct::tan
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
edm::Event::put
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
Definition: Event.h:133
IsolatedPixelTrackCandidateProducer::bfVal_
double bfVal_
Definition: IsolatedPixelTrackCandidateProducer.h:82
M_PI
#define M_PI
Definition: BXVectorInputProducer.cc:49
trackerHitRTTI::vector
Definition: trackerHitRTTI.h:21
MagneticField.h
edm::EventSetup
Definition: EventSetup.h:57
DetId::Ecal
Definition: DetId.h:27
get
#define get
IsolatedPixelTrackCandidateProducer::~IsolatedPixelTrackCandidateProducer
~IsolatedPixelTrackCandidateProducer() override
Definition: IsolatedPixelTrackCandidateProducer.cc:61
IsolatedPixelTrackCandidateProducer::pixelIsolationConeSizeAtEC_
const double pixelIsolationConeSizeAtEC_
Definition: IsolatedPixelTrackCandidateProducer.h:70
DDAxes::phi
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
eostools.move
def move(src, dest)
Definition: eostools.py:511
std
Definition: JetResolutionObject.h:76
writedatasetfile.run
run
Definition: writedatasetfile.py:27
PVValHelper::dxy
Definition: PVValidationHelpers.h:47
PVValHelper::dz
Definition: PVValidationHelpers.h:50
IsolatedPixelTrackCandidateProducer.h
transform.h
CaloGeometry.h
angle
T angle(T x1, T y1, T z1, T x2, T y2, T z2)
Definition: angle.h:11
reco::deltaR
constexpr auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
Definition: deltaR.h:30
Exception.h
dqm-mbProfile.log
log
Definition: dqm-mbProfile.py:17
IsolatedPixelTrackCandidateProducer::maxPForIsolationValue_
const double maxPForIsolationValue_
Definition: IsolatedPixelTrackCandidateProducer.h:76
trigger
Definition: HLTPrescaleTableCond.h:8
M_PI_2
#define M_PI_2
Definition: CSCGattiFunction.cc:6
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
IsolatedPixelTrackCandidateProducer::tok_l1_
const edm::EDGetTokenT< l1extra::L1JetParticleCollection > tok_l1_
Definition: IsolatedPixelTrackCandidateProducer.h:64
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
JetChargeProducer_cfi.exp
exp
Definition: JetChargeProducer_cfi.py:6
l1extra
Definition: L1EmParticle.h:26
SiPixelMonitorTrack_cfi.tracksrc
tracksrc
Definition: SiPixelMonitorTrack_cfi.py:12
edm::Event
Definition: Event.h:73
IsolatedPixelTrackCandidateProducer::produce
void produce(edm::Event &evt, const edm::EventSetup &es) override
Definition: IsolatedPixelTrackCandidateProducer.cc:102
IsolatedPixelTrackCandidateFwd.h
edm::InputTag
Definition: InputTag.h:15
IsolatedPixelTrackCandidateProducer::toks_pix_
const std::vector< edm::EDGetTokenT< reco::TrackCollection > > toks_pix_
Definition: IsolatedPixelTrackCandidateProducer.h:66