forked from cms-sw/cmssw
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
The first commitment for soft conversion reconstruction
- Loading branch information
Dongwook Jang
committed
May 28, 2008
1 parent
5fd0cf3
commit 45c5b11
Showing
9 changed files
with
699 additions
and
0 deletions.
There are no files selected for viewing
64 changes: 64 additions & 0 deletions
64
RecoEgamma/EgammaPhotonProducers/interface/SoftConversionProducer.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
#ifndef RecoEgamma_EgammaPhotonProducers_SoftConversionProducer_h | ||
#define RecoEgamma_EgammaPhotonProducers_SoftConversionProducer_h | ||
/** \class SoftConversionProducer | ||
** | ||
** | ||
** $Id: SoftConversionProducer.h,v 1.9 2007/07/12 14:50:14 nancy Exp $ | ||
** $Date: 2007/07/12 14:50:14 $ | ||
** $Revision: 1.9 $ | ||
** \author Nancy Marinelli, U. of Notre Dame, US | ||
** | ||
***/ | ||
|
||
#include "FWCore/Framework/interface/EDProducer.h" | ||
#include "FWCore/ParameterSet/interface/ParameterSet.h" | ||
#include "FWCore/Framework/interface/Event.h" | ||
#include "FWCore/Framework/interface/EventSetup.h" | ||
#include "FWCore/Framework/interface/ESHandle.h" | ||
|
||
#include "MagneticField/Engine/interface/MagneticField.h" | ||
#include "RecoTracker/TkDetLayers/interface/GeometricSearchTracker.h" | ||
#include "DataFormats/CaloRecHit/interface/CaloClusterFwd.h" | ||
|
||
class ConversionTrackEcalImpactPoint; | ||
class ConversionTrackPairFinder; | ||
class ConversionVertexFinder; | ||
class SoftConversionProducer : public edm::EDProducer { | ||
|
||
public: | ||
|
||
typedef std::vector<std::pair<reco::TrackRef, reco::CaloClusterPtr> > TrackClusterMap; | ||
|
||
SoftConversionProducer (const edm::ParameterSet& ps); | ||
~SoftConversionProducer(); | ||
|
||
|
||
virtual void beginJob (edm::EventSetup const & es); | ||
virtual void endJob (); | ||
virtual void produce(edm::Event& evt, const edm::EventSetup& es); | ||
|
||
private: | ||
|
||
std::string conversionOITrackProducer_; | ||
std::string conversionIOTrackProducer_; | ||
|
||
std::string outInTrackClusterAssociationCollection_; | ||
std::string inOutTrackClusterAssociationCollection_; | ||
|
||
std::string clusterType_; | ||
std::string clusterProducer_; | ||
std::string clusterBarrelCollection_; | ||
std::string clusterEndcapCollection_; | ||
|
||
std::string softConversionCollection_; | ||
|
||
edm::ParameterSet conf_; | ||
edm::ESHandle<MagneticField> theMF_; | ||
edm::ESHandle<GeometricSearchTracker> theGeomSearchTracker_; | ||
|
||
ConversionTrackPairFinder* theTrackPairFinder_; | ||
ConversionVertexFinder* theVertexFinder_; | ||
ConversionTrackEcalImpactPoint* theEcalImpactPositionFinder_; | ||
|
||
}; | ||
#endif |
83 changes: 83 additions & 0 deletions
83
RecoEgamma/EgammaPhotonProducers/interface/SoftConversionTrackCandidateProducer.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
#ifndef RecoEgamma_EgammaPhotonProducers_SoftConversionTrackCandidateProducer_h | ||
#define RecoEgamma_EgammaPhotonProducers_SoftConversionTrackCandidateProducer_h | ||
/** \class SoftConversionTrackCandidateProducer | ||
** | ||
** | ||
** $Id: SoftConversionTrackCandidateProducer.h,v 1.7 2008/03/03 21:37:34 nancy Exp $ | ||
** $Date: 2008/03/03 21:37:34 $ | ||
** $Revision: 1.7 $ | ||
** \author Nancy Marinelli, U. of Notre Dame, US | ||
** | ||
***/ | ||
|
||
#include "FWCore/Framework/interface/EDProducer.h" | ||
#include "FWCore/ParameterSet/interface/ParameterSet.h" | ||
#include "FWCore/Framework/interface/Event.h" | ||
#include "FWCore/Framework/interface/EventSetup.h" | ||
#include "FWCore/Framework/interface/ESHandle.h" | ||
|
||
#include "MagneticField/Engine/interface/MagneticField.h" | ||
#include "RecoTracker/MeasurementDet/interface/MeasurementTracker.h" | ||
#include "Geometry/CaloGeometry/interface/CaloGeometry.h" | ||
#include "RecoEgamma/EgammaTools/interface/HoECalculator.h" | ||
#include "TrackingTools/MeasurementDet/interface/LayerMeasurements.h" | ||
#include "TrackingTools/DetLayers/interface/NavigationSetter.h" | ||
#include "TrackingTools/DetLayers/interface/NavigationSchool.h" | ||
#include "RecoTracker/TkNavigation/interface/SimpleNavigationSchool.h" | ||
#include "RecoTracker/TkDetLayers/interface/GeometricSearchTracker.h" | ||
#include "DataFormats/TrackCandidate/interface/TrackCandidateCollection.h" | ||
#include "DataFormats/CaloRecHit/interface/CaloCluster.h" | ||
#include "DataFormats/CaloRecHit/interface/CaloClusterFwd.h" | ||
#include "DataFormats/Common/interface/View.h" | ||
|
||
class OutInConversionSeedFinder; | ||
class InOutConversionSeedFinder; | ||
class OutInConversionTrackFinder; | ||
class InOutConversionTrackFinder; | ||
|
||
// SoftConversionTrackCandidateProducer inherits from EDProducer, so it can be a module: | ||
class SoftConversionTrackCandidateProducer : public edm::EDProducer { | ||
|
||
public: | ||
|
||
SoftConversionTrackCandidateProducer (const edm::ParameterSet& ps); | ||
~SoftConversionTrackCandidateProducer(); | ||
|
||
|
||
virtual void beginJob (edm::EventSetup const & es); | ||
virtual void produce(edm::Event& evt, const edm::EventSetup& es); | ||
|
||
private: | ||
|
||
int nEvt_; | ||
|
||
/// Initialize EventSetup objects at each event | ||
void setEventSetup( const edm::EventSetup& es ) ; | ||
|
||
std::string clusterType_; | ||
std::string clusterProducer_; | ||
std::string clusterBarrelCollection_; | ||
std::string clusterEndcapCollection_; | ||
std::string OutInTrackCandidateCollection_; | ||
std::string InOutTrackCandidateCollection_; | ||
std::string OutInTrackClusterAssociationCollection_; | ||
std::string InOutTrackClusterAssociationCollection_; | ||
|
||
edm::ParameterSet conf_; | ||
|
||
edm::ESHandle<CaloGeometry> theCaloGeom_; | ||
|
||
const NavigationSchool* theNavigationSchool_; | ||
OutInConversionSeedFinder* theOutInSeedFinder_; | ||
OutInConversionTrackFinder* theOutInTrackFinder_; | ||
InOutConversionSeedFinder* theInOutSeedFinder_; | ||
InOutConversionTrackFinder* theInOutTrackFinder_; | ||
|
||
void buildCollections( const edm::Handle<edm::View<reco::CaloCluster> >& clusterHandle, | ||
TrackCandidateCollection& outInTracks, | ||
TrackCandidateCollection& inOutTracks, | ||
std::vector<edm::Ptr<reco::CaloCluster> >& vecRecOI, | ||
std::vector<edm::Ptr<reco::CaloCluster> >& vecRecIO); | ||
|
||
}; | ||
#endif |
25 changes: 25 additions & 0 deletions
25
RecoEgamma/EgammaPhotonProducers/python/softConversionIOTracks_cfi.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
import FWCore.ParameterSet.Config as cms | ||
|
||
# KFUpdatoerESProducer | ||
from TrackingTools.KalmanUpdators.KFUpdatorESProducer_cfi import * | ||
from RecoEgamma.EgammaPhotonProducers.propAlongMomentumWithMaterialForElectrons_cfi import * | ||
from RecoEgamma.EgammaPhotonProducers.KFFittingSmootherForInOut_cfi import * | ||
softConversionIOTracks = cms.EDFilter("TrackProducerWithBCAssociation", | ||
src = cms.InputTag("softConversionTrackCandidates","softIOTrackCandidates"), | ||
recoTrackSCAssociationCollection = cms.string('inOutTrackClusterAssociationCollection'), | ||
producer = cms.string('softConversionTrackCandidates'), | ||
Fitter = cms.string('KFFittingSmootherForInOut'), | ||
useHitsSplitting = cms.bool(False), | ||
trackCandidateSCAssociationCollection = cms.string('inOutTrackCandidateClusterAssociationCollection'), | ||
TrajectoryInEvent = cms.bool(False), | ||
TTRHBuilder = cms.string('WithTrackAngle'), | ||
#string AlgorithmName = "ecalSeededConv" | ||
AlgorithmName = cms.string('undefAlgorithm'), | ||
ComponentName = cms.string('softConversionIOTracks'), | ||
#string Propagator = "PropagatorWithMaterial" | ||
Propagator = cms.string('alongMomElePropagator'), | ||
beamSpot = cms.InputTag("offlineBeamSpot") | ||
) | ||
|
||
|
||
|
25 changes: 25 additions & 0 deletions
25
RecoEgamma/EgammaPhotonProducers/python/softConversionOITracks_cfi.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
import FWCore.ParameterSet.Config as cms | ||
|
||
# KFUpdatoerESProducer | ||
from TrackingTools.KalmanUpdators.KFUpdatorESProducer_cfi import * | ||
from RecoEgamma.EgammaPhotonProducers.propAlongMomentumWithMaterialForElectrons_cfi import * | ||
from RecoEgamma.EgammaPhotonProducers.KFTrajectoryFitterForOutIn_cfi import * | ||
#TrackProducers | ||
softConversionOITracks = cms.EDFilter("TrackProducerWithBCAssociation", | ||
src = cms.InputTag("softConversionTrackCandidates","softOITrackCandidates"), | ||
recoTrackSCAssociationCollection = cms.string('outInTrackClusterAssociationCollection'), | ||
producer = cms.string('softConversionTrackCandidates'), | ||
Fitter = cms.string('KFFitterForOutIn'), | ||
useHitsSplitting = cms.bool(False), | ||
trackCandidateSCAssociationCollection = cms.string('outInTrackCandidateClusterAssociationCollection'), | ||
TrajectoryInEvent = cms.bool(False), | ||
TTRHBuilder = cms.string('WithTrackAngle'), | ||
AlgorithmName = cms.string('undefAlgorithm'), | ||
ComponentName = cms.string('softConversionOITracks'), | ||
#string Propagator = "PropagatorWithMaterial" | ||
Propagator = cms.string('alongMomElePropagator'), | ||
beamSpot = cms.InputTag("offlineBeamSpot") | ||
) | ||
|
||
|
||
|
9 changes: 9 additions & 0 deletions
9
RecoEgamma/EgammaPhotonProducers/python/softConversionSequence_cff.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
import FWCore.ParameterSet.Config as cms | ||
|
||
from RecoEgamma.EgammaPhotonProducers.softConversionTrackCandidates_cfi import * | ||
from RecoEgamma.EgammaPhotonProducers.softConversionOITracks_cfi import * | ||
from RecoEgamma.EgammaPhotonProducers.softConversionIOTracks_cfi import * | ||
from RecoEgamma.EgammaPhotonProducers.softConversions_cfi import * | ||
softConversionSequence = cms.Sequence(softConversionTrackCandidates*softConversionOITracks*softConversionIOTracks*softConversions) | ||
|
||
|
46 changes: 46 additions & 0 deletions
46
RecoEgamma/EgammaPhotonProducers/python/softConversionTrackCandidates_cfi.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
import FWCore.ParameterSet.Config as cms | ||
|
||
# | ||
# configuration for producer of converted photons | ||
# $Id: conversionTrackCandidates.cfi,v 1.16 2008/03/11 18:32:17 nancy Exp $ | ||
# | ||
# Tracker geometry ##################### | ||
from Geometry.TrackerGeometryBuilder.trackerGeometry_cfi import * | ||
from Geometry.TrackerNumberingBuilder.trackerNumberingGeometry_cfi import * | ||
from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * | ||
# stripCPE | ||
from RecoLocalTracker.SiStripRecHitConverter.StripCPEfromTrackAngle_cfi import * | ||
from RecoLocalTracker.SiStripRecHitConverter.SiStripRecHitMatcher_cfi import * | ||
# pixelCPE | ||
from RecoLocalTracker.SiPixelRecHits.PixelCPEParmError_cfi import * | ||
#TransientTrackingBuilder | ||
from RecoTracker.TransientTrackingRecHit.TransientTrackingRecHitBuilder_cfi import * | ||
# MeasurementTracker | ||
from RecoTracker.MeasurementDet.MeasurementTrackerESProducer_cfi import * | ||
# TransientTracks | ||
from TrackingTools.TransientTrack.TransientTrackBuilder_cfi import * | ||
#TrajectoryFilter | ||
from RecoEgamma.EgammaPhotonProducers.trajectoryFilterForConversions_cfi import * | ||
#TrajectoryBuilder | ||
from RecoEgamma.EgammaPhotonProducers.trajectoryBuilderForConversions_cfi import * | ||
softConversionTrackCandidates = cms.EDProducer("SoftConversionTrackCandidateProducer", | ||
TransientInitialStateEstimatorParameters = cms.PSet( | ||
propagatorAlongTISE = cms.string('alongMomElePropagator'), | ||
propagatorOppositeTISE = cms.string('oppositeToMomElePropagator') | ||
), | ||
inOutTrackCandidateCollection = cms.string('softIOTrackCandidates'), | ||
inOutTrackCandidateClusterAssociationCollection = cms.string('inOutTrackCandidateClusterAssociationCollection'), | ||
clusterBarrelCollection = cms.string('islandBarrelBasicClusters'), | ||
clusterType = cms.string('BasicCluster'), | ||
MeasurementTrackerName = cms.string(''), | ||
clusterProducer = cms.string('islandBasicClusters'), | ||
clusterEndcapCollection = cms.string('islandEndcapBasicClusters'), | ||
outInTrackCandidateClusterAssociationCollection = cms.string('outInTrackCandidateClusterAssociationCollection'), | ||
InOutRedundantSeedCleaner = cms.string('CachingSeedCleanerBySharedInput'), | ||
OutInRedundantSeedCleaner = cms.string('CachingSeedCleanerBySharedInput'), | ||
outInTrackCandidateCollection = cms.string('softOITrackCandidates'), | ||
TrajectoryBuilder = cms.string('TrajectoryBuilderForConversions') | ||
) | ||
|
||
|
||
|
22 changes: 22 additions & 0 deletions
22
RecoEgamma/EgammaPhotonProducers/python/softConversions_cfi.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
import FWCore.ParameterSet.Config as cms | ||
|
||
# | ||
# configuration for producer of converted photons | ||
# | ||
# | ||
softConversions = cms.EDProducer("SoftConversionProducer", | ||
clusterBarrelCollection = cms.string('islandBarrelBasicClusters'), | ||
outInTrackCollection = cms.string(''), | ||
softConversionCollection = cms.string('softConversionCollection'), | ||
clusterType = cms.string('BasicCluster'), | ||
conversionIOTrackProducer = cms.string('softConversionIOTracks'), | ||
outInTrackClusterAssociationCollection = cms.string('outInTrackClusterAssociationCollection'), | ||
clusterProducer = cms.string('islandBasicClusters'), | ||
clusterEndcapCollection = cms.string('islandEndcapBasicClusters'), | ||
inOutTrackClusterAssociationCollection = cms.string('inOutTrackClusterAssociationCollection'), | ||
inOutTrackCollection = cms.string(''), | ||
conversionOITrackProducer = cms.string('softConversionOITracks') | ||
) | ||
|
||
|
||
|
Oops, something went wrong.