CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Functions
SoftConversionTrackCandidateProducer.cc File Reference
#include <iostream>
#include <vector>
#include <memory>
#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/EventSetup.h"
#include "DataFormats/Common/interface/Handle.h"
#include "FWCore/Framework/interface/ESHandle.h"
#include "FWCore/MessageLogger/interface/MessageLogger.h"
#include "FWCore/Utilities/interface/Exception.h"
#include "DataFormats/CaloRecHit/interface/CaloCluster.h"
#include "DataFormats/CaloRecHit/interface/CaloClusterFwd.h"
#include "DataFormats/TrackCandidate/interface/TrackCandidateCollection.h"
#include "DataFormats/EgammaTrackReco/interface/TrackCandidateCaloClusterAssociation.h"
#include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
#include "MagneticField/Records/interface/IdealMagneticFieldRecord.h"
#include "RecoEgamma/EgammaPhotonAlgos/interface/ConversionSeedFinder.h"
#include "RecoEgamma/EgammaPhotonAlgos/interface/ConversionTrackFinder.h"
#include "RecoTracker/Record/interface/CkfComponentsRecord.h"
#include "RecoTracker/Record/interface/TrackerRecoGeometryRecord.h"
#include "RecoTracker/Record/interface/NavigationSchoolRecord.h"
#include "RecoEgamma/EgammaPhotonAlgos/interface/OutInConversionSeedFinder.h"
#include "RecoEgamma/EgammaPhotonAlgos/interface/InOutConversionSeedFinder.h"
#include "RecoEgamma/EgammaPhotonAlgos/interface/OutInConversionTrackFinder.h"
#include "RecoEgamma/EgammaPhotonAlgos/interface/InOutConversionTrackFinder.h"
#include "Math/GenVector/VectorUtil.h"
#include "RecoEgamma/EgammaPhotonProducers/interface/SoftConversionTrackCandidateProducer.h"

Go to the source code of this file.

Functions

bool IsGoodSeed (const TrajectorySeedCollection &seeds, const TrajectorySeed &seed)
 

Function Documentation

bool IsGoodSeed ( const TrajectorySeedCollection seeds,
const TrajectorySeed seed 
)

Definition at line 37 of file SoftConversionTrackCandidateProducer.cc.

References PTrajectoryStateOnDet::detId(), newFWLiteAna::found, mag(), LocalTrajectoryParameters::momentum(), TrajectorySeed::nHits(), PTrajectoryStateOnDet::parameters(), LocalTrajectoryParameters::position(), TrajectorySeed::startingState(), and PTrajectoryStateOnDet::surfaceSide().

Referenced by SoftConversionTrackCandidateProducer::buildCollections().

37  {
38 
39  // This function is not satisfactory. I don't know how to check equality of TrajectorySeed
40  // So I compare all possible quantities in them.
41  // This function can be dropped when I find to check equality of TrajectorySeed.
42 
43  bool found = false;
44  for(TrajectorySeedCollection::const_iterator it = seeds.begin(); it != seeds.end(); it++){
45  if(it->nHits() != seed.nHits()) continue;
46  if(it->startingState().detId() != seed.startingState().detId()) continue;
47  if(it->startingState().surfaceSide() != seed.startingState().surfaceSide()) continue;
48  if((it->startingState().parameters().position() - seed.startingState().parameters().position()).mag() > 1.0e-6) continue;
49  if((it->startingState().parameters().momentum() - seed.startingState().parameters().momentum()).mag() > 1.0e-6) continue;
50  found = true;
51  break;
52  }
53 
54  return found;
55 }
LocalPoint position() const
Local x and y position coordinates.
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())
LocalVector momentum() const
Momentum vector in the local frame.
const int surfaceSide() const
PTrajectoryStateOnDet const & startingState() const
const unsigned int detId() const
unsigned int nHits() const
const LocalTrajectoryParameters & parameters() const