CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes
HLTmumutktkVtxProducer Class Reference

#include <HLTmumutktkVtxProducer.h>

Inheritance diagram for HLTmumutktkVtxProducer:
edm::stream::EDProducer<>

Public Member Functions

 HLTmumutktkVtxProducer (const edm::ParameterSet &)
 
void produce (edm::Event &, const edm::EventSetup &) override
 
 ~HLTmumutktkVtxProducer () override
 
- Public Member Functions inherited from edm::stream::EDProducer<>
 EDProducer ()=default
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 

Private Member Functions

bool checkPreviousCand (const reco::TrackRef &trackref, const std::vector< reco::RecoChargedCandidateRef > &ref2) const
 
bool overlap (const reco::TrackRef &trackref1, const reco::TrackRef &trackref2)
 

Static Private Member Functions

static FreeTrajectoryState initialFreeState (const reco::Track &, const MagneticField *)
 

Private Attributes

const edm::InputTag beamSpotTag_
 
const edm::EDGetTokenT< reco::BeamSpotbeamSpotToken_
 
const double fourthTrackMass_
 
const double maxEta_
 
const double maxInvMass_
 
const double maxTrkTrkMass_
 
const std::string mfName_
 
const double minD0Significance_
 
const double minInvMass_
 
const double minPt_
 
const double minTrkTrkMass_
 
const edm::InputTag muCandTag_
 
const edm::EDGetTokenT< reco::RecoChargedCandidateCollectionmuCandToken_
 
const bool oppositeSign_
 
const double overlapDR_
 
const edm::InputTag previousCandTag_
 
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefspreviousCandToken_
 
const double thirdTrackMass_
 
const edm::InputTag trkCandTag_
 
const edm::EDGetTokenT< reco::RecoChargedCandidateCollectiontrkCandToken_
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDProducer<>
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 

Detailed Description

Definition at line 39 of file HLTmumutktkVtxProducer.h.

Constructor & Destructor Documentation

◆ HLTmumutktkVtxProducer()

HLTmumutktkVtxProducer::HLTmumutktkVtxProducer ( const edm::ParameterSet iConfig)
explicit

Definition at line 32 of file HLTmumutktkVtxProducer.cc.

33  : muCandTag_(iConfig.getParameter<edm::InputTag>("MuCand")),
34  muCandToken_(consumes<reco::RecoChargedCandidateCollection>(muCandTag_)),
35  trkCandTag_(iConfig.getParameter<edm::InputTag>("TrackCand")),
36  trkCandToken_(consumes<reco::RecoChargedCandidateCollection>(trkCandTag_)),
37  previousCandTag_(iConfig.getParameter<edm::InputTag>("PreviousCandTag")),
38  previousCandToken_(consumes<trigger::TriggerFilterObjectWithRefs>(previousCandTag_)),
39  mfName_(iConfig.getParameter<std::string>("SimpleMagneticField")),
40  thirdTrackMass_(iConfig.getParameter<double>("ThirdTrackMass")),
41  fourthTrackMass_(iConfig.getParameter<double>("FourthTrackMass")),
42  maxEta_(iConfig.getParameter<double>("MaxEta")),
43  minPt_(iConfig.getParameter<double>("MinPt")),
44  minInvMass_(iConfig.getParameter<double>("MinInvMass")),
45  maxInvMass_(iConfig.getParameter<double>("MaxInvMass")),
46  minTrkTrkMass_(iConfig.getParameter<double>("MinTrkTrkMass")),
47  maxTrkTrkMass_(iConfig.getParameter<double>("MaxTrkTrkMass")),
48  minD0Significance_(iConfig.getParameter<double>("MinD0Significance")),
49  oppositeSign_(iConfig.getParameter<bool>("OppositeSign")),
50  overlapDR_(iConfig.getParameter<double>("OverlapDR")),
51  beamSpotTag_(iConfig.getParameter<edm::InputTag>("BeamSpotTag")),
52  beamSpotToken_(consumes<reco::BeamSpot>(beamSpotTag_)) {
53  produces<VertexCollection>();
54 }

◆ ~HLTmumutktkVtxProducer()

HLTmumutktkVtxProducer::~HLTmumutktkVtxProducer ( )
overridedefault

Member Function Documentation

◆ checkPreviousCand()

bool HLTmumutktkVtxProducer::checkPreviousCand ( const reco::TrackRef trackref,
const std::vector< reco::RecoChargedCandidateRef > &  ref2 
) const
private

Definition at line 291 of file HLTmumutktkVtxProducer.cc.

292  {
293  bool ok = false;
294  for (auto& i : refVect) {
295  if (i->get<TrackRef>() == trackref) {
296  ok = true;
297  break;
298  }
299  }
300  return ok;
301 }

References mps_fire::i, and convertSQLiteXML::ok.

Referenced by produce().

◆ fillDescriptions()

void HLTmumutktkVtxProducer::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 59 of file HLTmumutktkVtxProducer.cc.

59  {
61  desc.add<edm::InputTag>("MuCand", edm::InputTag("hltMuTracks"));
62  desc.add<edm::InputTag>("TrackCand", edm::InputTag("hltMumukAllConeTracks"));
63  desc.add<edm::InputTag>("PreviousCandTag", edm::InputTag("hltDisplacedmumuFilterDoubleMu4Jpsi"));
64  desc.add<std::string>("SimpleMagneticField", "");
65  desc.add<double>("ThirdTrackMass", 0.493677);
66  desc.add<double>("FourthTrackMass", 0.493677);
67  desc.add<double>("MaxEta", 2.5);
68  desc.add<double>("MinPt", 0.0);
69  desc.add<double>("MinInvMass", 0.0);
70  desc.add<double>("MaxInvMass", 99999.);
71  desc.add<double>("MinTrkTrkMass", 0.0);
72  desc.add<double>("MaxTrkTrkMass", 99999.);
73  desc.add<double>("MinD0Significance", 0.0);
74  desc.add<bool>("OppositeSign", false);
75  desc.add<double>("OverlapDR", 0.001);
76  desc.add<edm::InputTag>("BeamSpotTag", edm::InputTag("hltOfflineBeamSpot"));
77  descriptions.add("HLTmumutktkVtxProducer", desc);
78 }

References edm::ConfigurationDescriptions::add(), submitPVResolutionJobs::desc, HLT_FULL_cff::InputTag, and AlCaHLTBitMon_QueryRunRegistry::string.

◆ initialFreeState()

FreeTrajectoryState HLTmumutktkVtxProducer::initialFreeState ( const reco::Track tk,
const MagneticField field 
)
staticprivate

Definition at line 275 of file HLTmumutktkVtxProducer.cc.

275  {
277  GlobalPoint gpos(pos);
278  Basic3DVector<float> mom(tk.momentum());
279  GlobalVector gmom(mom);
280  GlobalTrajectoryParameters par(gpos, gmom, tk.charge(), field);
282  return FreeTrajectoryState(par, err);
283 }

References reco::TrackBase::charge(), reco::TrackBase::covariance(), submitPVResolutionJobs::err, reco::TrackBase::momentum(), and reco::TrackBase::vertex().

Referenced by produce().

◆ overlap()

bool HLTmumutktkVtxProducer::overlap ( const reco::TrackRef trackref1,
const reco::TrackRef trackref2 
)
private

Definition at line 285 of file HLTmumutktkVtxProducer.cc.

285  {
286  if (deltaR(trackref1->eta(), trackref1->phi(), trackref2->eta(), trackref2->phi()) < overlapDR_)
287  return true;
288  return false;
289 }

References PbPb_ZMuSkimMuonDPG_cff::deltaR, and overlapDR_.

Referenced by produce().

◆ produce()

void HLTmumutktkVtxProducer::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
override

Definition at line 81 of file HLTmumutktkVtxProducer.cc.

81  {
82  const double MuMass(0.106);
83  const double MuMass2(MuMass * MuMass);
84  const double thirdTrackMass2(thirdTrackMass_ * thirdTrackMass_);
85  const double fourthTrackMass2(fourthTrackMass_ * fourthTrackMass_);
86 
87  // get hold of muon trks
89  iEvent.getByToken(muCandToken_, mucands);
90 
91  //get the transient track builder:
93  iSetup.get<TransientTrackRecord>().get("TransientTrackBuilder", theB);
94 
95  //get the beamspot position
96  edm::Handle<reco::BeamSpot> recoBeamSpotHandle;
97  iEvent.getByToken(beamSpotToken_, recoBeamSpotHandle);
98 
99  //get the b field
100  ESHandle<MagneticField> bFieldHandle;
101  iSetup.get<IdealMagneticFieldRecord>().get(mfName_, bFieldHandle);
102  const MagneticField* magField = bFieldHandle.product();
103  TSCBLBuilderNoMaterial blsBuilder;
104 
105  // get track candidates around displaced muons
107  iEvent.getByToken(trkCandToken_, trkcands);
108 
109  unique_ptr<VertexCollection> vertexCollection(new VertexCollection());
110 
111  // Ref to Candidate object to be recorded in filter object
114  RecoChargedCandidateRef refTrk1;
115  RecoChargedCandidateRef refTrk2;
116 
117  double e1, e2, e3_m3, e3_m4, e4_m3, e4_m4;
118  Particle::LorentzVector p, pBar, p1, p2, p3_m3, p3_m4, p4_m3, p4_m4, p_m3m4, p_m4m3;
119 
120  if (mucands->size() < 2)
121  return;
122  if (trkcands->size() < 2)
123  return;
124 
125  RecoChargedCandidateCollection::const_iterator mucand1;
126  RecoChargedCandidateCollection::const_iterator mucand2;
127  RecoChargedCandidateCollection::const_iterator trkcand1;
128  RecoChargedCandidateCollection::const_iterator trkcand2;
129 
130  // get the objects passing the previous filter
132  iEvent.getByToken(previousCandToken_, previousCands);
133 
134  vector<RecoChargedCandidateRef> vPrevCands;
135  previousCands->getObjects(TriggerMuon, vPrevCands);
136 
137  for (mucand1 = mucands->begin(); mucand1 != mucands->end(); ++mucand1) {
138  TrackRef trk1 = mucand1->get<TrackRef>();
139  LogDebug("HLTmumutktkVtxProducer") << " 1st muon: q*pt= " << trk1->charge() * trk1->pt() << ", eta= " << trk1->eta()
140  << ", hits= " << trk1->numberOfValidHits();
141 
142  //first check if this muon passed the previous filter
143  if (!checkPreviousCand(trk1, vPrevCands))
144  continue;
145  // eta and pt cut
146  if (fabs(trk1->eta()) > maxEta_)
147  continue;
148  if (trk1->pt() < minPt_)
149  continue;
150 
151  mucand2 = mucand1;
152  ++mucand2;
153  for (; mucand2 != mucands->end(); mucand2++) {
154  TrackRef trk2 = mucand2->get<TrackRef>();
155  if (overlap(trk1, trk2))
156  continue;
157 
158  LogDebug("HLTDisplacedMumukFilter") << " 2nd muon: q*pt= " << trk2->charge() * trk2->pt()
159  << ", eta= " << trk2->eta() << ", hits= " << trk2->numberOfValidHits();
160 
161  //first check if this muon passed the previous filter
162  if (!checkPreviousCand(trk2, vPrevCands))
163  continue;
164  // eta and pt cut
165  if (fabs(trk2->eta()) > maxEta_)
166  continue;
167  if (trk2->pt() < minPt_)
168  continue;
169 
170  //loop on track collection - trk1
171  for (trkcand1 = trkcands->begin(); trkcand1 != trkcands->end(); ++trkcand1) {
172  TrackRef trk3 = trkcand1->get<TrackRef>();
173 
174  if (overlap(trk1, trk3))
175  continue;
176  if (overlap(trk2, trk3))
177  continue;
178 
179  LogDebug("HLTDisplacedMumukFilter") << " 3rd track: q*pt= " << trk3->charge() * trk3->pt()
180  << ", eta= " << trk3->eta() << ", hits= " << trk3->numberOfValidHits();
181 
182  // eta and pt cut
183  if (fabs(trk3->eta()) > maxEta_)
184  continue;
185  if (trk3->pt() < minPt_)
186  continue;
187 
188  FreeTrajectoryState InitialFTS_Trk3 = initialFreeState(*trk3, magField);
189  TrajectoryStateClosestToBeamLine tscb_Trk3(blsBuilder(InitialFTS_Trk3, *recoBeamSpotHandle));
190  double d0sigTrk3 = tscb_Trk3.transverseImpactParameter().significance();
191  if (d0sigTrk3 < minD0Significance_)
192  continue;
193 
194  //loop on track collection - trk2
195  for (trkcand2 = trkcands->begin(); trkcand2 != trkcands->end(); ++trkcand2) {
196  TrackRef trk4 = trkcand2->get<TrackRef>();
197 
198  if (oppositeSign_) {
199  if (trk3->charge() * trk4->charge() != -1)
200  continue;
201  }
202  if (overlap(trk1, trk4))
203  continue;
204  if (overlap(trk2, trk4))
205  continue;
206  if (overlap(trk3, trk4))
207  continue;
208 
209  LogDebug("HLTDisplacedMumukFilter") << " 4th track: q*pt= " << trk4->charge() * trk4->pt()
210  << ", eta= " << trk4->eta() << ", hits= " << trk4->numberOfValidHits();
211 
212  // eta and pt cut
213  if (fabs(trk4->eta()) > maxEta_)
214  continue;
215  if (trk4->pt() < minPt_)
216  continue;
217 
218  FreeTrajectoryState InitialFTS_Trk4 = initialFreeState(*trk4, magField);
219  TrajectoryStateClosestToBeamLine tscb_Trk4(blsBuilder(InitialFTS_Trk4, *recoBeamSpotHandle));
220  double d0sigTrk4 = tscb_Trk4.transverseImpactParameter().significance();
221  if (d0sigTrk4 < minD0Significance_)
222  continue;
223 
224  // Combined system
225  e1 = sqrt(trk1->momentum().Mag2() + MuMass2);
226  e2 = sqrt(trk2->momentum().Mag2() + MuMass2);
227  e3_m3 = sqrt(trk3->momentum().Mag2() + thirdTrackMass2);
228  e3_m4 = sqrt(trk3->momentum().Mag2() + fourthTrackMass2);
229  e4_m3 = sqrt(trk4->momentum().Mag2() + thirdTrackMass2);
230  e4_m4 = sqrt(trk4->momentum().Mag2() + fourthTrackMass2);
231 
232  p1 = Particle::LorentzVector(trk1->px(), trk1->py(), trk1->pz(), e1);
233  p2 = Particle::LorentzVector(trk2->px(), trk2->py(), trk2->pz(), e2);
234  p3_m3 = Particle::LorentzVector(trk3->px(), trk3->py(), trk3->pz(), e3_m3);
235  p3_m4 = Particle::LorentzVector(trk3->px(), trk3->py(), trk3->pz(), e3_m4);
236  p4_m3 = Particle::LorentzVector(trk4->px(), trk4->py(), trk4->pz(), e4_m3);
237  p4_m4 = Particle::LorentzVector(trk4->px(), trk4->py(), trk4->pz(), e4_m4);
238 
239  p = p1 + p2 + p3_m3 + p4_m4;
240  pBar = p1 + p2 + p3_m4 + p4_m3;
241  p_m3m4 = p3_m3 + p4_m4;
242  p_m4m3 = p3_m4 + p4_m3;
243 
244  //invariant mass cut
245  if (!((p_m3m4.mass() > minTrkTrkMass_ && p_m3m4.mass() < maxTrkTrkMass_) ||
246  (p_m4m3.mass() > minTrkTrkMass_ && p_m4m3.mass() < maxTrkTrkMass_)))
247  continue;
248  if (!((p.mass() > minInvMass_ && p.mass() < maxInvMass_) ||
249  (pBar.mass() > minInvMass_ && pBar.mass() < maxInvMass_)))
250  continue;
251 
252  // do the vertex fit
253  vector<TransientTrack> t_tks;
254  t_tks.push_back((*theB).build(&trk1));
255  t_tks.push_back((*theB).build(&trk2));
256  t_tks.push_back((*theB).build(&trk3));
257  t_tks.push_back((*theB).build(&trk4));
258  if (t_tks.size() != 4)
259  continue;
260 
261  KalmanVertexFitter kvf;
262  TransientVertex tv = kvf.vertex(t_tks);
263  if (!tv.isValid())
264  continue;
265  Vertex vertex = tv;
266 
267  vertexCollection->push_back(vertex);
268  }
269  }
270  }
271  }
273 }

References beamSpotToken_, checkPreviousCand(), StorageManager_cfg::e1, fourthTrackMass_, edm::EventSetup::get(), get, edm::Ref< C, T, F >::get(), trigger::TriggerRefsCollections::getObjects(), iEvent, initialFreeState(), TransientVertex::isValid(), LogDebug, maxEta_, maxInvMass_, maxTrkTrkMass_, mfName_, minD0Significance_, minInvMass_, minPt_, minTrkTrkMass_, eostools::move(), muCandToken_, oppositeSign_, overlap(), AlCaHLTBitMon_ParallelJobs::p, p1, p2, previousCandToken_, edm::ESHandle< T >::product(), Measurement1D::significance(), mathSSE::sqrt(), thirdTrackMass_, TrajectoryStateClosestToBeamLine::transverseImpactParameter(), trigger::TriggerMuon, trkCandToken_, bphysicsOniaDQM_cfi::vertex, KalmanVertexFitter::vertex(), and spclusmultinvestigator_cfi::vertexCollection.

Member Data Documentation

◆ beamSpotTag_

const edm::InputTag HLTmumutktkVtxProducer::beamSpotTag_
private

Definition at line 70 of file HLTmumutktkVtxProducer.h.

◆ beamSpotToken_

const edm::EDGetTokenT<reco::BeamSpot> HLTmumutktkVtxProducer::beamSpotToken_
private

Definition at line 71 of file HLTmumutktkVtxProducer.h.

Referenced by produce().

◆ fourthTrackMass_

const double HLTmumutktkVtxProducer::fourthTrackMass_
private

Definition at line 60 of file HLTmumutktkVtxProducer.h.

Referenced by produce().

◆ maxEta_

const double HLTmumutktkVtxProducer::maxEta_
private

Definition at line 61 of file HLTmumutktkVtxProducer.h.

Referenced by produce().

◆ maxInvMass_

const double HLTmumutktkVtxProducer::maxInvMass_
private

Definition at line 64 of file HLTmumutktkVtxProducer.h.

Referenced by produce().

◆ maxTrkTrkMass_

const double HLTmumutktkVtxProducer::maxTrkTrkMass_
private

Definition at line 66 of file HLTmumutktkVtxProducer.h.

Referenced by produce().

◆ mfName_

const std::string HLTmumutktkVtxProducer::mfName_
private

Definition at line 58 of file HLTmumutktkVtxProducer.h.

Referenced by produce().

◆ minD0Significance_

const double HLTmumutktkVtxProducer::minD0Significance_
private

Definition at line 67 of file HLTmumutktkVtxProducer.h.

Referenced by produce().

◆ minInvMass_

const double HLTmumutktkVtxProducer::minInvMass_
private

Definition at line 63 of file HLTmumutktkVtxProducer.h.

Referenced by produce().

◆ minPt_

const double HLTmumutktkVtxProducer::minPt_
private

Definition at line 62 of file HLTmumutktkVtxProducer.h.

Referenced by produce().

◆ minTrkTrkMass_

const double HLTmumutktkVtxProducer::minTrkTrkMass_
private

Definition at line 65 of file HLTmumutktkVtxProducer.h.

Referenced by produce().

◆ muCandTag_

const edm::InputTag HLTmumutktkVtxProducer::muCandTag_
private

Definition at line 51 of file HLTmumutktkVtxProducer.h.

◆ muCandToken_

const edm::EDGetTokenT<reco::RecoChargedCandidateCollection> HLTmumutktkVtxProducer::muCandToken_
private

Definition at line 52 of file HLTmumutktkVtxProducer.h.

Referenced by produce().

◆ oppositeSign_

const bool HLTmumutktkVtxProducer::oppositeSign_
private

Definition at line 68 of file HLTmumutktkVtxProducer.h.

Referenced by produce().

◆ overlapDR_

const double HLTmumutktkVtxProducer::overlapDR_
private

Definition at line 69 of file HLTmumutktkVtxProducer.h.

Referenced by overlap().

◆ previousCandTag_

const edm::InputTag HLTmumutktkVtxProducer::previousCandTag_
private

Definition at line 55 of file HLTmumutktkVtxProducer.h.

◆ previousCandToken_

const edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs> HLTmumutktkVtxProducer::previousCandToken_
private

Definition at line 56 of file HLTmumutktkVtxProducer.h.

Referenced by produce().

◆ thirdTrackMass_

const double HLTmumutktkVtxProducer::thirdTrackMass_
private

Definition at line 59 of file HLTmumutktkVtxProducer.h.

Referenced by produce().

◆ trkCandTag_

const edm::InputTag HLTmumutktkVtxProducer::trkCandTag_
private

Definition at line 53 of file HLTmumutktkVtxProducer.h.

◆ trkCandToken_

const edm::EDGetTokenT<reco::RecoChargedCandidateCollection> HLTmumutktkVtxProducer::trkCandToken_
private

Definition at line 54 of file HLTmumutktkVtxProducer.h.

Referenced by produce().

Vector3DBase
Definition: Vector3DBase.h:8
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
TrajectoryStateClosestToBeamLine
Definition: TrajectoryStateClosestToBeamLine.h:15
KalmanVertexFitter::vertex
CachingVertex< 5 > vertex(const std::vector< reco::TransientTrack > &tracks) const override
Definition: KalmanVertexFitter.h:49
HLTmumutktkVtxProducer::initialFreeState
static FreeTrajectoryState initialFreeState(const reco::Track &, const MagneticField *)
Definition: HLTmumutktkVtxProducer.cc:275
mps_fire.i
i
Definition: mps_fire.py:428
HLTmumutktkVtxProducer::beamSpotTag_
const edm::InputTag beamSpotTag_
Definition: HLTmumutktkVtxProducer.h:70
HLTmumutktkVtxProducer::muCandTag_
const edm::InputTag muCandTag_
Definition: HLTmumutktkVtxProducer.h:51
HLTmumutktkVtxProducer::minD0Significance_
const double minD0Significance_
Definition: HLTmumutktkVtxProducer.h:67
TransientVertex::isValid
bool isValid() const
Definition: TransientVertex.h:195
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
reco::VertexCollection
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
pos
Definition: PixelAliasList.h:18
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:85964
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
HLTmumutktkVtxProducer::minPt_
const double minPt_
Definition: HLTmumutktkVtxProducer.h:62
edm::Ref::get
T const * get() const
Returns C++ pointer to the item.
Definition: Ref.h:232
HLTmumutktkVtxProducer::maxTrkTrkMass_
const double maxTrkTrkMass_
Definition: HLTmumutktkVtxProducer.h:66
HLTmumutktkVtxProducer::trkCandTag_
const edm::InputTag trkCandTag_
Definition: HLTmumutktkVtxProducer.h:53
convertSQLiteXML.ok
bool ok
Definition: convertSQLiteXML.py:98
edm::Handle
Definition: AssociativeIterator.h:50
trigger::TriggerRefsCollections::getObjects
void getObjects(Vids &ids, VRphoton &refs) const
various physics-level getters:
Definition: TriggerRefsCollections.h:452
HLTmumutktkVtxProducer::previousCandTag_
const edm::InputTag previousCandTag_
Definition: HLTmumutktkVtxProducer.h:55
edm::Ref< TrackCollection >
HLTmumutktkVtxProducer::mfName_
const std::string mfName_
Definition: HLTmumutktkVtxProducer.h:58
IdealMagneticFieldRecord
Definition: IdealMagneticFieldRecord.h:11
edm::EventSetup::get
T get() const
Definition: EventSetup.h:80
CurvilinearTrajectoryError
Definition: CurvilinearTrajectoryError.h:27
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
HLTmumutktkVtxProducer::checkPreviousCand
bool checkPreviousCand(const reco::TrackRef &trackref, const std::vector< reco::RecoChargedCandidateRef > &ref2) const
Definition: HLTmumutktkVtxProducer.cc:291
HLTmumutktkVtxProducer::oppositeSign_
const bool oppositeSign_
Definition: HLTmumutktkVtxProducer.h:68
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
TransientTrackRecord
Definition: TransientTrackRecord.h:11
trigger::TriggerMuon
Definition: TriggerTypeDefs.h:68
edm::ESHandle< TransientTrackBuilder >
p2
double p2[4]
Definition: TauolaWrapper.h:90
reco::TrackBase::charge
int charge() const
track electric charge
Definition: TrackBase.h:596
GlobalTrajectoryParameters
Definition: GlobalTrajectoryParameters.h:15
reco::TrackBase::covariance
CovarianceMatrix covariance() const
return track covariance matrix
Definition: TrackBase.h:716
Point3DBase< float, GlobalTag >
HLTmumutktkVtxProducer::fourthTrackMass_
const double fourthTrackMass_
Definition: HLTmumutktkVtxProducer.h:60
PbPb_ZMuSkimMuonDPG_cff.deltaR
deltaR
Definition: PbPb_ZMuSkimMuonDPG_cff.py:63
HLTmumutktkVtxProducer::thirdTrackMass_
const double thirdTrackMass_
Definition: HLTmumutktkVtxProducer.h:59
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
HLTmumutktkVtxProducer::maxInvMass_
const double maxInvMass_
Definition: HLTmumutktkVtxProducer.h:64
HLTmumutktkVtxProducer::previousCandToken_
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > previousCandToken_
Definition: HLTmumutktkVtxProducer.h:56
bphysicsOniaDQM_cfi.vertex
vertex
Definition: bphysicsOniaDQM_cfi.py:7
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:223
HLTmumutktkVtxProducer::trkCandToken_
const edm::EDGetTokenT< reco::RecoChargedCandidateCollection > trkCandToken_
Definition: HLTmumutktkVtxProducer.h:54
StorageManager_cfg.e1
e1
Definition: StorageManager_cfg.py:16
iEvent
int iEvent
Definition: GenABIO.cc:224
p1
double p1[4]
Definition: TauolaWrapper.h:89
HLTmumutktkVtxProducer::overlapDR_
const double overlapDR_
Definition: HLTmumutktkVtxProducer.h:69
TransientVertex
Definition: TransientVertex.h:18
submitPVResolutionJobs.err
err
Definition: submitPVResolutionJobs.py:85
HLTmumutktkVtxProducer::maxEta_
const double maxEta_
Definition: HLTmumutktkVtxProducer.h:61
get
#define get
reco::TrackBase::vertex
const Point & vertex() const
reference point on the track. This method is DEPRECATED, please use referencePoint() instead
Definition: TrackBase.h:676
reco::JetExtendedAssociation::LorentzVector
math::PtEtaPhiELorentzVectorF LorentzVector
Definition: JetExtendedAssociation.h:25
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
eostools.move
def move(src, dest)
Definition: eostools.py:511
HLTmumutktkVtxProducer::muCandToken_
const edm::EDGetTokenT< reco::RecoChargedCandidateCollection > muCandToken_
Definition: HLTmumutktkVtxProducer.h:52
HLTmumutktkVtxProducer::beamSpotToken_
const edm::EDGetTokenT< reco::BeamSpot > beamSpotToken_
Definition: HLTmumutktkVtxProducer.h:71
FreeTrajectoryState
Definition: FreeTrajectoryState.h:27
TSCBLBuilderNoMaterial
Definition: TSCBLBuilderNoMaterial.h:13
spclusmultinvestigator_cfi.vertexCollection
vertexCollection
Definition: spclusmultinvestigator_cfi.py:4
HLTmumutktkVtxProducer::minInvMass_
const double minInvMass_
Definition: HLTmumutktkVtxProducer.h:63
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
reco::TrackBase::momentum
const Vector & momentum() const
track momentum vector
Definition: TrackBase.h:664
MagneticField
Definition: MagneticField.h:19
edm::InputTag
Definition: InputTag.h:15
HLTmumutktkVtxProducer::overlap
bool overlap(const reco::TrackRef &trackref1, const reco::TrackRef &trackref2)
Definition: HLTmumutktkVtxProducer.cc:285
Basic3DVector< float >
reco::Vertex
Definition: Vertex.h:35
HLTmumutktkVtxProducer::minTrkTrkMass_
const double minTrkTrkMass_
Definition: HLTmumutktkVtxProducer.h:65
KalmanVertexFitter
Definition: KalmanVertexFitter.h:22