CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/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    # Iso Values 
00140    useIsolationValues = cms.bool(False)
00141 )
00142 
00143 
00144 #==============================================================================
00145 # Final producer of persistent gsf electrons
00146 #==============================================================================
00147 
00148 gsfElectrons = cms.EDProducer("GsfElectronProducer",
00149 
00150     # input collections
00151     previousGsfElectronsTag = cms.InputTag("ecalDrivenGsfElectrons"),
00152     pflowGsfElectronsTag = cms.InputTag("pfElectronTranslator:pf"),
00153     gsfElectronCoresTag = cms.InputTag("gsfElectronCores"),
00154     hcalTowers = cms.InputTag("towerMaker"),
00155     barrelRecHitCollectionTag = cms.InputTag("ecalRecHit","EcalRecHitsEB"),
00156     endcapRecHitCollectionTag = cms.InputTag("ecalRecHit","EcalRecHitsEE"),
00157     pfMvaTag =  cms.InputTag("pfElectronTranslator:pf"),
00158     seedsTag = cms.InputTag("ecalDrivenElectronSeeds"),
00159     beamSpotTag = cms.InputTag("offlineBeamSpot"),
00160     gsfPfRecTracksTag = cms.InputTag("pfTrackElec"),
00161     
00162     # backward compatibility mechanism for ctf tracks
00163     ctfTracksCheck = cms.bool(True),
00164     ctfTracksTag = cms.InputTag("generalTracks"),
00165     
00166     # steering
00167     useGsfPfRecTracks = cms.bool(True),
00168     applyPreselection = cms.bool(True),
00169     ecalDrivenEcalEnergyFromClassBasedParameterization = cms.bool(True),
00170     ecalDrivenEcalErrorFromClassBasedParameterization = cms.bool(True),
00171     pureTrackerDrivenEcalErrorFromSimpleParameterization = cms.bool(True),
00172     applyAmbResolution = cms.bool(True),
00173     ambSortingStrategy = cms.uint32(1),
00174     ambClustersOverlapStrategy = cms.uint32(1),
00175     addPflowElectrons = cms.bool(True),
00176     
00177     # preselection parameters (ecal driven electrons)
00178     minSCEtBarrel = cms.double(4.0),
00179     minSCEtEndcaps = cms.double(4.0),
00180     minEOverPBarrel = cms.double(0.0),
00181     maxEOverPBarrel = cms.double(999999999.),
00182     minEOverPEndcaps = cms.double(0.0),
00183     maxEOverPEndcaps = cms.double(999999999.),
00184     maxDeltaEtaBarrel = cms.double(0.02),
00185     maxDeltaEtaEndcaps = cms.double(0.02),
00186     maxDeltaPhiBarrel = cms.double(0.15),
00187     maxDeltaPhiEndcaps = cms.double(0.15),
00188     #useHcalTowers = cms.bool(True),
00189     #useHcalRecHits = cms.bool(False),
00190     hOverEConeSize = cms.double(0.15),
00191     hOverEPtMin = cms.double(0.),
00192     #maxHOverEDepth1Barrel = cms.double(0.1),
00193     #maxHOverEDepth1Endcaps = cms.double(0.1),
00194     #maxHOverEDepth2 = cms.double(0.1),
00195     maxHOverEBarrel = cms.double(0.15),
00196     maxHOverEEndcaps = cms.double(0.15),
00197     maxHBarrel = cms.double(0.0),
00198     maxHEndcaps = cms.double(0.0),
00199     maxSigmaIetaIetaBarrel = cms.double(999999999.),
00200     maxSigmaIetaIetaEndcaps = cms.double(999999999.),
00201     maxFbremBarrel = cms.double(999999999.),
00202     maxFbremEndcaps = cms.double(999999999.),
00203     isBarrel = cms.bool(False),
00204     isEndcaps = cms.bool(False),
00205     isFiducial = cms.bool(False),
00206     seedFromTEC = cms.bool(True),
00207     maxTIP = cms.double(999999999.),
00208     minMVA = cms.double(-0.1),
00209     minMvaByPassForIsolated = cms.double(-0.1),
00210 
00211     # preselection parameters (tracker driven only electrons)    
00212     minSCEtBarrelPflow = cms.double(0.0),
00213     minSCEtEndcapsPflow = cms.double(0.0),
00214     minEOverPBarrelPflow = cms.double(0.0),
00215     maxEOverPBarrelPflow = cms.double(999999999.),
00216     minEOverPEndcapsPflow = cms.double(0.0),
00217     maxEOverPEndcapsPflow = cms.double(999999999.),
00218     maxDeltaEtaBarrelPflow = cms.double(999999999.),
00219     maxDeltaEtaEndcapsPflow = cms.double(999999999.),
00220     maxDeltaPhiBarrelPflow = cms.double(999999999.),
00221     maxDeltaPhiEndcapsPflow = cms.double(999999999.),
00222     hOverEConeSizePflow = cms.double(0.15),
00223     hOverEPtMinPflow = cms.double(0.),
00224     #maxHOverEDepth1BarrelPflow = cms.double(999999999.),
00225     #maxHOverEDepth1EndcapsPflow = cms.double(999999999.),
00226     #maxHOverEDepth2Pflow = cms.double(999999999.),
00227     maxHOverEBarrelPflow = cms.double(999999999.),
00228     maxHOverEEndcapsPflow = cms.double(999999999.),
00229     maxHBarrelPflow = cms.double(0.0),
00230     maxHEndcapsPflow = cms.double(0.0),
00231     maxSigmaIetaIetaBarrelPflow = cms.double(999999999.),
00232     maxSigmaIetaIetaEndcapsPflow = cms.double(999999999.),
00233     maxFbremBarrelPflow = cms.double(999999999.),
00234     maxFbremEndcapsPflow = cms.double(999999999.),
00235     isBarrelPflow = cms.bool(False),
00236     isEndcapsPflow = cms.bool(False),
00237     isFiducialPflow = cms.bool(False),
00238     maxTIPPflow = cms.double(999999999.),
00239     minMVAPflow = cms.double(-0.1),
00240     minMvaByPassForIsolatedPflow = cms.double(-0.1),
00241     
00242     # Ecal rec hits configuration
00243     recHitFlagsToBeExcludedBarrel = cleanedHybridSuperClusters.RecHitFlagToBeExcluded,
00244     recHitFlagsToBeExcludedEndcaps = multi5x5BasicClustersCleaned.RecHitFlagToBeExcluded,
00245     recHitSeverityToBeExcludedBarrel = cleanedHybridSuperClusters.RecHitSeverityToBeExcluded,
00246     recHitSeverityToBeExcludedEndcaps = cleanedHybridSuperClusters.RecHitSeverityToBeExcluded,
00247     #severityLevelCut = cms.int32(4),
00248 
00249     # Isolation algos configuration
00250     intRadiusBarrelTk = cms.double(0.015), 
00251     intRadiusEndcapTk = cms.double(0.015), 
00252     stripBarrelTk = cms.double(0.015), 
00253     stripEndcapTk = cms.double(0.015), 
00254     ptMinTk = cms.double(0.7), 
00255     maxVtxDistTk = cms.double(0.2), 
00256     maxDrbTk = cms.double(999999999.), 
00257     intRadiusHcal = cms.double(0.15),
00258     etMinHcal = cms.double(0.0), 
00259     intRadiusEcalBarrel = cms.double(3.0), 
00260     intRadiusEcalEndcaps = cms.double(3.0), 
00261     jurassicWidth = cms.double(1.5), 
00262     etMinBarrel = cms.double(0.0),
00263     eMinBarrel = cms.double(0.095), 
00264     etMinEndcaps = cms.double(0.110), 
00265     eMinEndcaps = cms.double(0.0),  
00266     vetoClustered  = cms.bool(False),  
00267     useNumCrystals = cms.bool(True),      
00268     TransientInitialStateEstimatorParameters = cms.PSet(
00269         propagatorAlongTISE = cms.string('PropagatorWithMaterial'),
00270         propagatorOppositeTISE = cms.string('PropagatorWithMaterialOpposite')
00271     ),
00272     
00273     # Corrections
00274     superClusterErrorFunction = cms.string("EcalClusterEnergyUncertaintyObjectSpecific"),
00275     crackCorrectionFunction = cms.string("EcalClusterCrackCorrection"),
00276 
00277    # Iso Values (PF and EcalDriven)
00278    useIsolationValues = cms.bool(True), 
00279    pfIsolationValues = cms.PSet(
00280            pfChargedHadrons = cms.InputTag('elPFIsoValueCharged04'),
00281            pfPhotons = cms.InputTag('elPFIsoValueGamma04'),
00282            pfNeutralHadrons= cms.InputTag('elPFIsoValueNeutral04')),
00283 
00284    edIsolationValues = cms.PSet(
00285            edChargedHadrons = cms.InputTag('elEDIsoValueCharged04'),
00286            edPhotons = cms.InputTag('elEDIsoValueGamma04'),
00287            edNeutralHadrons= cms.InputTag('elEDIsoValueNeutral04'))
00288 
00289 )
00290 
00291