CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10_patch2/src/RecoEgamma/EgammaElectronProducers/python/gsfElectrons_cfi.py

Go to the documentation of this file.
00001 
00002 import FWCore.ParameterSet.Config as cms
00003 from RecoEcal.EgammaClusterProducers.hybridSuperClusters_cfi import *
00004 from RecoEcal.EgammaClusterProducers.multi5x5BasicClusters_cfi import *
00005 
00006 #==============================================================================
00007 # Producer of transient ecal driven gsf electrons
00008 #==============================================================================
00009 
00010 ecalDrivenGsfElectrons = cms.EDProducer("GsfElectronEcalDrivenProducer",
00011 
00012     # input collections
00013     previousGsfElectronsTag = cms.InputTag(""),
00014     pflowGsfElectronsTag = cms.InputTag(""),
00015     gsfElectronCoresTag = cms.InputTag("ecalDrivenGsfElectronCores"),
00016     barrelRecHitCollectionTag = cms.InputTag("ecalRecHit","EcalRecHitsEB"),
00017     endcapRecHitCollectionTag = cms.InputTag("ecalRecHit","EcalRecHitsEE"),
00018     hcalTowers = cms.InputTag("towerMaker"),
00019     pfMvaTag =  cms.InputTag(""),
00020     seedsTag = cms.InputTag("ecalDrivenElectronSeeds"),
00021     beamSpotTag = cms.InputTag("offlineBeamSpot"),
00022     gsfPfRecTracksTag = cms.InputTag("pfTrackElec"),
00023     
00024     # backward compatibility mechanism for ctf tracks
00025     ctfTracksCheck = cms.bool(True),
00026     ctfTracksTag = cms.InputTag("generalTracks"),
00027     
00028     # steering
00029     useGsfPfRecTracks = cms.bool(True),
00030     applyPreselection = cms.bool(False),
00031     ecalDrivenEcalEnergyFromClassBasedParameterization = cms.bool(True),
00032     ecalDrivenEcalErrorFromClassBasedParameterization = cms.bool(True),
00033     pureTrackerDrivenEcalErrorFromSimpleParameterization = cms.bool(True),
00034     applyAmbResolution = cms.bool(False),
00035     ambSortingStrategy = cms.uint32(1),
00036     ambClustersOverlapStrategy = cms.uint32(1),
00037     addPflowElectrons = cms.bool(True), # this one should be transfered to the "core" level
00038     
00039     # preselection parameters (ecal driven electrons)
00040     minSCEtBarrel = cms.double(4.0),
00041     minSCEtEndcaps = cms.double(4.0),
00042     minEOverPBarrel = cms.double(0.0),
00043     maxEOverPBarrel = cms.double(999999999.),
00044     minEOverPEndcaps = cms.double(0.0),
00045     maxEOverPEndcaps = cms.double(999999999.),
00046     maxDeltaEtaBarrel = cms.double(0.02),
00047     maxDeltaEtaEndcaps = cms.double(0.02),
00048     maxDeltaPhiBarrel = cms.double(0.15),
00049     maxDeltaPhiEndcaps = cms.double(0.15),
00050     #useHcalTowers = cms.bool(True),
00051     #useHcalRecHits = cms.bool(False),
00052     hOverEConeSize = cms.double(0.15),
00053     hOverEPtMin = cms.double(0.),
00054     #maxHOverEDepth1Barrel = cms.double(0.1),
00055     #maxHOverEDepth1Endcaps = cms.double(0.1),
00056     #maxHOverEDepth2 = cms.double(0.1),
00057     maxHOverEBarrel = cms.double(0.15),
00058     maxHOverEEndcaps = cms.double(0.15),
00059     maxHBarrel = cms.double(0.0),
00060     maxHEndcaps = cms.double(0.0),
00061     maxSigmaIetaIetaBarrel = cms.double(999999999.),
00062     maxSigmaIetaIetaEndcaps = cms.double(999999999.),
00063     maxFbremBarrel = cms.double(999999999.),
00064     maxFbremEndcaps = cms.double(999999999.),
00065     isBarrel = cms.bool(False),
00066     isEndcaps = cms.bool(False),
00067     isFiducial = cms.bool(False),
00068     maxTIP = cms.double(999999999.),
00069     seedFromTEC = cms.bool(True),
00070     minMVA = cms.double(-0.4),
00071     minMvaByPassForIsolated = cms.double(-0.4),
00072 
00073     # preselection parameters (tracker driven only electrons)    
00074     minSCEtBarrelPflow = cms.double(0.0),
00075     minSCEtEndcapsPflow = cms.double(0.0),
00076     minEOverPBarrelPflow = cms.double(0.0),
00077     maxEOverPBarrelPflow = cms.double(999999999.),
00078     minEOverPEndcapsPflow = cms.double(0.0),
00079     maxEOverPEndcapsPflow = cms.double(999999999.),
00080     maxDeltaEtaBarrelPflow = cms.double(999999999.),
00081     maxDeltaEtaEndcapsPflow = cms.double(999999999.),
00082     maxDeltaPhiBarrelPflow = cms.double(999999999.),
00083     maxDeltaPhiEndcapsPflow = cms.double(999999999.),
00084     hOverEConeSizePflow = cms.double(0.15),
00085     hOverEPtMinPflow = cms.double(0.),
00086     #maxHOverEDepth1BarrelPflow = cms.double(999999999.),
00087     #maxHOverEDepth1EndcapsPflow = cms.double(999999999.),
00088     #maxHOverEDepth2Pflow = cms.double(999999999.),
00089     maxHOverEBarrelPflow = cms.double(999999999.),
00090     maxHOverEEndcapsPflow = cms.double(999999999.),
00091     maxHBarrelPflow = cms.double(0.0),
00092     maxHEndcapsPflow = cms.double(0.0),
00093     maxSigmaIetaIetaBarrelPflow = cms.double(999999999.),
00094     maxSigmaIetaIetaEndcapsPflow = cms.double(999999999.),
00095     maxFbremBarrelPflow = cms.double(999999999.),
00096     maxFbremEndcapsPflow = cms.double(999999999.),
00097     isBarrelPflow = cms.bool(False),
00098     isEndcapsPflow = cms.bool(False),
00099     isFiducialPflow = cms.bool(False),
00100     maxTIPPflow = cms.double(999999999.),
00101     minMVAPflow = cms.double(-0.4),
00102     minMvaByPassForIsolatedPflow = cms.double(-0.4),
00103     
00104     # Ecal rec hits configuration
00105     recHitFlagsToBeExcludedBarrel = cleanedHybridSuperClusters.RecHitFlagToBeExcluded,
00106     recHitFlagsToBeExcludedEndcaps = multi5x5BasicClustersCleaned.RecHitFlagToBeExcluded,
00107     recHitSeverityToBeExcludedBarrel = cleanedHybridSuperClusters.RecHitSeverityToBeExcluded,
00108     recHitSeverityToBeExcludedEndcaps = cleanedHybridSuperClusters.RecHitSeverityToBeExcluded,
00109     #severityLevelCut = cms.int32(4),
00110 
00111     # Isolation algos configuration
00112     intRadiusBarrelTk = cms.double(0.015), 
00113     intRadiusEndcapTk = cms.double(0.015), 
00114     stripBarrelTk = cms.double(0.015), 
00115     stripEndcapTk = cms.double(0.015), 
00116     ptMinTk = cms.double(0.7), 
00117     maxVtxDistTk = cms.double(0.2), 
00118     maxDrbTk = cms.double(999999999.), 
00119     intRadiusHcal = cms.double(0.15),
00120     etMinHcal = cms.double(0.0), 
00121     intRadiusEcalBarrel = cms.double(3.0), 
00122     intRadiusEcalEndcaps = cms.double(3.0), 
00123     jurassicWidth = cms.double(1.5), 
00124     etMinBarrel = cms.double(0.0),
00125     eMinBarrel = cms.double(0.095), 
00126     etMinEndcaps = cms.double(0.110), 
00127     eMinEndcaps = cms.double(0.0),  
00128     vetoClustered  = cms.bool(False),  
00129     useNumCrystals = cms.bool(True),  
00130     TransientInitialStateEstimatorParameters = cms.PSet(
00131         propagatorAlongTISE = cms.string('PropagatorWithMaterial'),
00132         propagatorOppositeTISE = cms.string('PropagatorWithMaterialOpposite')
00133     ),
00134     
00135     # Corrections
00136     superClusterErrorFunction = cms.string("EcalClusterEnergyUncertaintyObjectSpecific"),
00137     crackCorrectionFunction = cms.string("EcalClusterCrackCorrection")
00138 
00139 )
00140 
00141 
00142 #==============================================================================
00143 # Final producer of persistent gsf electrons
00144 #==============================================================================
00145 
00146 gsfElectrons = cms.EDProducer("GsfElectronProducer",
00147 
00148     # input collections
00149     previousGsfElectronsTag = cms.InputTag("ecalDrivenGsfElectrons"),
00150     pflowGsfElectronsTag = cms.InputTag("pfElectronTranslator:pf"),
00151     gsfElectronCoresTag = cms.InputTag("gsfElectronCores"),
00152     hcalTowers = cms.InputTag("towerMaker"),
00153     barrelRecHitCollectionTag = cms.InputTag("ecalRecHit","EcalRecHitsEB"),
00154     endcapRecHitCollectionTag = cms.InputTag("ecalRecHit","EcalRecHitsEE"),
00155     pfMvaTag =  cms.InputTag("pfElectronTranslator:pf"),
00156     seedsTag = cms.InputTag("ecalDrivenElectronSeeds"),
00157     beamSpotTag = cms.InputTag("offlineBeamSpot"),
00158     gsfPfRecTracksTag = cms.InputTag("pfTrackElec"),
00159     
00160     # backward compatibility mechanism for ctf tracks
00161     ctfTracksCheck = cms.bool(True),
00162     ctfTracksTag = cms.InputTag("generalTracks"),
00163     
00164     # steering
00165     useGsfPfRecTracks = cms.bool(True),
00166     applyPreselection = cms.bool(True),
00167     ecalDrivenEcalEnergyFromClassBasedParameterization = cms.bool(True),
00168     ecalDrivenEcalErrorFromClassBasedParameterization = cms.bool(True),
00169     pureTrackerDrivenEcalErrorFromSimpleParameterization = cms.bool(True),
00170     applyAmbResolution = cms.bool(True),
00171     ambSortingStrategy = cms.uint32(1),
00172     ambClustersOverlapStrategy = cms.uint32(1),
00173     addPflowElectrons = cms.bool(True),
00174     
00175     # preselection parameters (ecal driven electrons)
00176     minSCEtBarrel = cms.double(4.0),
00177     minSCEtEndcaps = cms.double(4.0),
00178     minEOverPBarrel = cms.double(0.0),
00179     maxEOverPBarrel = cms.double(999999999.),
00180     minEOverPEndcaps = cms.double(0.0),
00181     maxEOverPEndcaps = cms.double(999999999.),
00182     maxDeltaEtaBarrel = cms.double(0.02),
00183     maxDeltaEtaEndcaps = cms.double(0.02),
00184     maxDeltaPhiBarrel = cms.double(0.15),
00185     maxDeltaPhiEndcaps = cms.double(0.15),
00186     #useHcalTowers = cms.bool(True),
00187     #useHcalRecHits = cms.bool(False),
00188     hOverEConeSize = cms.double(0.15),
00189     hOverEPtMin = cms.double(0.),
00190     #maxHOverEDepth1Barrel = cms.double(0.1),
00191     #maxHOverEDepth1Endcaps = cms.double(0.1),
00192     #maxHOverEDepth2 = cms.double(0.1),
00193     maxHOverEBarrel = cms.double(0.15),
00194     maxHOverEEndcaps = cms.double(0.15),
00195     maxHBarrel = cms.double(0.0),
00196     maxHEndcaps = cms.double(0.0),
00197     maxSigmaIetaIetaBarrel = cms.double(999999999.),
00198     maxSigmaIetaIetaEndcaps = cms.double(999999999.),
00199     maxFbremBarrel = cms.double(999999999.),
00200     maxFbremEndcaps = cms.double(999999999.),
00201     isBarrel = cms.bool(False),
00202     isEndcaps = cms.bool(False),
00203     isFiducial = cms.bool(False),
00204     seedFromTEC = cms.bool(True),
00205     maxTIP = cms.double(999999999.),
00206     minMVA = cms.double(-0.1),
00207     minMvaByPassForIsolated = cms.double(-0.1),
00208 
00209     # preselection parameters (tracker driven only electrons)    
00210     minSCEtBarrelPflow = cms.double(0.0),
00211     minSCEtEndcapsPflow = cms.double(0.0),
00212     minEOverPBarrelPflow = cms.double(0.0),
00213     maxEOverPBarrelPflow = cms.double(999999999.),
00214     minEOverPEndcapsPflow = cms.double(0.0),
00215     maxEOverPEndcapsPflow = cms.double(999999999.),
00216     maxDeltaEtaBarrelPflow = cms.double(999999999.),
00217     maxDeltaEtaEndcapsPflow = cms.double(999999999.),
00218     maxDeltaPhiBarrelPflow = cms.double(999999999.),
00219     maxDeltaPhiEndcapsPflow = cms.double(999999999.),
00220     hOverEConeSizePflow = cms.double(0.15),
00221     hOverEPtMinPflow = cms.double(0.),
00222     #maxHOverEDepth1BarrelPflow = cms.double(999999999.),
00223     #maxHOverEDepth1EndcapsPflow = cms.double(999999999.),
00224     #maxHOverEDepth2Pflow = cms.double(999999999.),
00225     maxHOverEBarrelPflow = cms.double(999999999.),
00226     maxHOverEEndcapsPflow = cms.double(999999999.),
00227     maxHBarrelPflow = cms.double(0.0),
00228     maxHEndcapsPflow = cms.double(0.0),
00229     maxSigmaIetaIetaBarrelPflow = cms.double(999999999.),
00230     maxSigmaIetaIetaEndcapsPflow = cms.double(999999999.),
00231     maxFbremBarrelPflow = cms.double(999999999.),
00232     maxFbremEndcapsPflow = cms.double(999999999.),
00233     isBarrelPflow = cms.bool(False),
00234     isEndcapsPflow = cms.bool(False),
00235     isFiducialPflow = cms.bool(False),
00236     maxTIPPflow = cms.double(999999999.),
00237     minMVAPflow = cms.double(-0.1),
00238     minMvaByPassForIsolatedPflow = cms.double(-0.1),
00239     
00240     # Ecal rec hits configuration
00241     recHitFlagsToBeExcludedBarrel = cleanedHybridSuperClusters.RecHitFlagToBeExcluded,
00242     recHitFlagsToBeExcludedEndcaps = multi5x5BasicClustersCleaned.RecHitFlagToBeExcluded,
00243     recHitSeverityToBeExcludedBarrel = cleanedHybridSuperClusters.RecHitSeverityToBeExcluded,
00244     recHitSeverityToBeExcludedEndcaps = cleanedHybridSuperClusters.RecHitSeverityToBeExcluded,
00245     #severityLevelCut = cms.int32(4),
00246 
00247     # Isolation algos configuration
00248     intRadiusBarrelTk = cms.double(0.015), 
00249     intRadiusEndcapTk = cms.double(0.015), 
00250     stripBarrelTk = cms.double(0.015), 
00251     stripEndcapTk = cms.double(0.015), 
00252     ptMinTk = cms.double(0.7), 
00253     maxVtxDistTk = cms.double(0.2), 
00254     maxDrbTk = cms.double(999999999.), 
00255     intRadiusHcal = cms.double(0.15),
00256     etMinHcal = cms.double(0.0), 
00257     intRadiusEcalBarrel = cms.double(3.0), 
00258     intRadiusEcalEndcaps = cms.double(3.0), 
00259     jurassicWidth = cms.double(1.5), 
00260     etMinBarrel = cms.double(0.0),
00261     eMinBarrel = cms.double(0.095), 
00262     etMinEndcaps = cms.double(0.110), 
00263     eMinEndcaps = cms.double(0.0),  
00264     vetoClustered  = cms.bool(False),  
00265     useNumCrystals = cms.bool(True),      
00266     TransientInitialStateEstimatorParameters = cms.PSet(
00267         propagatorAlongTISE = cms.string('PropagatorWithMaterial'),
00268         propagatorOppositeTISE = cms.string('PropagatorWithMaterialOpposite')
00269     ),
00270     
00271     # Corrections
00272     superClusterErrorFunction = cms.string("EcalClusterEnergyUncertaintyObjectSpecific"),
00273     crackCorrectionFunction = cms.string("EcalClusterCrackCorrection")
00274 
00275 )
00276 
00277