Electron Reconstruction Software
Complete:
Goals of this page
This page introduces the basics of electron reconstruction, shows how to run reconstruction modules so to produce standard electrons, and briefly discuss the content of the resulting output file. Some related topics are:
Introduction
The physical aspects of electron reconstruction are detailed
here. Below is a short introduction to the reconstruction process.
Electrons are built starting from clusters in ECAL. Electron track seeds are built matching superclusters with hits from the standard trajectory seeds. This matching takes advantage of the fact that the energy-weighted average impact point of the electron and its bremstrahlung photons is precisely where a non-radiating track would have impacted the ECAL. The position measured by the supercluster can thus be used to predict the position of hits in the pixel detector. Since most of the material of the tracker lies after the pixel layers, most of the electrons have not radiated significantly before them and most photon conversion takes place after them. So matching hits are given by most electrons and by few photons. This seeding strategy is complemented by a tracker driven approach to cover cases of very low pT electrons and non isolated electrons.
The seeds are then used to trigger the track finding. The track fit is performed using a Gaussian Sum Filter (GSF), which allows the track to be reconstructed right out to the ECAL surface, despite kinks due to radiated bremsstrahlung. The electron object contains edm::Refs to both the track and the supercluster. The four-vector is obtained by combining information from the track and SuperCluster weighted according to measurement uncertainties.
Set up your Environment
Fisrtly prepare your runtime environment (shown for release 3_1_2):
scram project CMSSW CMSSW_3_1_2
cd CMSSW_3_1_2/src
cmsenv
addpkg RecoEgamma/EgammaElectronProducers
cd RecoEgamma/EgammaElectronProducers/test
For more general and/or detailed information, see also:
Run standard electron reconstruction
The config file
recHitsToPixelMatchGsfElectrons_cfg.py
shows how to reconstruct standard electrons (GsfElectron) starting from RecHits, which are assumed to already exist in the input sample. Let's examine this example a little further.
The maxEvents parameter is used to define the number of events to be processed, in this case 1000. The next part specifies the input files, in this case a release validation sample of particle gun back-to-back electrons with pT in the range 5 to 100
GeV, generated with CMSSW_1_6_0. Any sample containing RecHits generated with CMSSW_1_6_X can be used here. Such samples can be found using
DBS2
.
source = PoolSource {
untracked vstring fileNames = {
'/store/RelVal/2007/9/19/RelVal-RelValDiElectron_Pt_5_100-1190216041/0003/14286614-5467-DC11-B1E9-000423D99996.root',
'/store/RelVal/2007/9/19/RelVal-RelValDiElectron_Pt_5_100-1190216041/0003/1E0674DB-0567-DC11-B7FE-000423D94AA8.root'
}
}
The following specifies the output filename, in this case
pixelMatchGsfElectrons.root
, and the event content to be stored, in this case, the RECOSIM content:
include "Configuration/EventContent/data/EventContent.cff"
module RECO = PoolOutputModule {
untracked string fileName = 'pixelMatchGsfelectrons.root'
using RECOSIMEventContent
}
The next 2 lines are standard includes for running reconstruction. Using
FakeConditions means that no conditions data (alignment and calibration coefficients) are read from the conditions database.
include "Configuration/StandardSequences/data/FakeConditions.cff"
include "Configuration/StandardSequences/data/Reconstruction.cff"
Next, the path is defined, which specifies the sequences of modules which will be run. In this case, the sequences run are:
-
ecalClusteringSequence
, defined in ecalClusteringSequence.cff
: Standalone ECAL reconstruction strting from EcalRecHits: BasicClusters, SuperClusters and PreshowerClusters.
-
pixelMatchGsfElectronSequence
, defined in pixelMatchGsfElectronSequence.cff
: Reconstructs electrons by matching pixel hits to a SuperCluster and using them to seed GSF tracking.
path p = { ecalClusteringSequence, pixelMatchGsfElectronSequence }
Once you have customized the config file (you must at least provide the list of input files), you can run the reconstruction simply typing:
cmsRun recHitsToPixelMatchGsfElectrons_cfg.py
Inspect the result
Open the file pixelMatchGsfElectrons.root in a TBrowser and browse the contents:
Collections ending with __Rec were already in the events that were read in. The collections reconstructed in the example end with __electrons, the name of the process in the first line of recHitsToPixelMatchGsfElectrons.cfg
The newly constructed electron objects are in the collection:
recoPixelMatchGsfElectrons_pixelMatchGsfElectrons__electrons
The GSF tracks associated to the electrons are in the collections:
recoGsfTracks_pixelMatchGsfFitBarrel__electrons
recoGsfTracks_pixelMatchGsfFitEndcap__electrons
The SuperClusters associated to the electrons are in the collections:
recoSuperClusters_correctedHybridSuperClusters__electrons
recoSuperClusters_correctedEndcapSuperClustersWithPreshower__electrons
Error and warning categories
All errors and warnings issued by electron reconstruction software are classified both in the general category
GsfElectronAlgo and a in some more detailed category, as listed below.
Severity |
Category |
Comments |
Error |
UnknownXtalRegion |
The seed xtal of an electron is neither in barrel nor in endcap. |
Error |
BothEcalAndPureTrackerDriven |
A core electron is said to be both ecal and purely tracker driven. |
Error |
NeitherEcalNorPureTrackerDriven |
A core electron is said to be neither ecal nor purely tracker driven. |
Error |
NotElectronSeed |
The seed attached to a gsf track is not an instance of ElectronSeed. |
Error |
UnexpectedMvaValue |
The mva value provided by pflow is below what we expect to be the lowest. |
Error |
UnknownAmbiguitySortingStrategy |
The value of configurable "ambSortingStrategy" is not recognised. |
Error |
UnknownAmbiguityClustersOverlapStrategy |
The value of configurable "ambClustersOverlapStrategy" is not recognised. |
Error |
BadMvaCut |
The mva cut is below the lowest possible value, and thus every electron will be blessed whatever other criteria. |
Warning |
UnreachableSeedsProvenance |
Seeds are not available, thus the configurables used for their generation are unreachable and cannot be compared with the similar configurables in current electron preselection. |
Warning |
UndefinedPreselectionInfo |
All preselection flags are false, either the data is too old or electrons were not preselected. |
Warning |
MvaCutTooLow |
The mva cut applied to pure tracker driven electrons is lower than the one previsouly applied by pflow, and therefore will have no effect. |
Warning |
IncompletePflowInformation |
The mva cut applied to ecal driven electrons is largely lower than the one previously applied by pflow, and some electrons may lack their mva value and pflow supercluster. |
Warning |
SpikeRemovalForIsolation |
The spike removal strategy configurable has not been recognized. |
Review status
Responsible:
DavidChamont