Release Notes for 310 (changes wrt 21X/22X)

In this page are listed the release notes for 31X series with highlight on changes with respect to 21X/22X series. Some additional information can be found on the twikis of the various groups and in the talks presented during June 09 CMS Week reconstruction meeting.

Compatibility with previous releases

  • Real data RAW are backward compatible with 21X/22X releases
  • RECO/AOD are not compatible with any previous release
  • MC RAW are technically compatible but different mappings are used in the GlobalTags, so they are not compatible with 21X/22X

NB: to access SuperPointing or TrackerPointing skims (or any other real data FEVT content) made with 22X, you need to drop on input everything but RAW and do re-reconstruction in 31X.

Magnetic Field Mapping:

  • New map tables for 3.8T based on the improved TOSCA model version 090322
  • Implement sector-specific tables for sectors 3,4,9,10,11
  • Deafult 3.8T configuration includes scaling factors measured on CRAFT data in the barrel
  • Rewrite of AutoMagneticFieldESProducer to allow using the new phi-asymmetric map for 3.8T together with old maps for other nominal field values.

Pixel local reconstruction:

  • Pixel Clusterizer
    • Added noisy pixel flags in clusterizer
    • Added dead pixel flags in clusterizer
    • Improved VCAL to electrons conversion
    • Lowered pixel, seed, cluster thresholds to ease optimization during early data taking
    • Various bug fixes and improvements of C++ code
  • Pixel RecHits
    • Added template cluster probability to the RecHit
    • Modified PixelCPETemplateReco to read pixel templates from DB. Access to ASCII template is possible for debugging purposes.
    • Modified CMS.PixelCPEGeneric to use errors either from DB or to get Pixelav predicted errors. Pixelav errors are used by default.
    • Add capability for irradiation position bias correction in CMS.PixelCPEGeneric
    • Implemented templates with improved angular acceptance
    • Various bug fixes and improvements of C++ code
  • RecHit DataFormats
    • Added template cluster probability to the RecHit. (This changed the SiPixelRecHit data format !!!)

SiStrips local reconstruction:

(more details available on sistrip twiki )
  • RawToDigi
    • RawToClusters
      • uses the same clusterizer as the offline code.
      • can work in VirginRaw or ProcessedRaw formats, in addition to ZeroSuppressed format
    • FedBuffer classes
      • FedBuffer classes moved into CMSSW, removed dependence on external package (TkOnlineSw)
      • Minor performance improvements
      • More robust in the face of errors
  • Local Reco Configuration
    • Added list of DetId for bad modules to RECO format
  • Clusterizer
    • Redesigned package internal structure
      • moved the plugins to their own directory
      • bypassed and removed the SiStripClusterizerAlgorithm class
      • added a factory to construct the algorithms
      • new more flexible algorithm: ThreeThresholdAlgorithm
      • renamed ThreeThresholdStripClusterizer to OldThreeThresholdAlgorithm
    • Developed test suite
  • Restructuring of code for Zero Suppression

ECAL reconstruction:

  • Unpacker
    • account for the EE TriggerPrimitive data format
    • preshower raw-to-recHit

  • Local reconstruction:
    • appropriate treatment of gain0 bit
    • recovery of saturated channels (leading edge method)
    • time reconstruction algorithm (ratio method) for the uncalibrated recHit
    • flexible UncalibRecHit producer to handle all cases (out-of-time signals, saturation etc.)
    • new inter-calibration constants with unitary average
    • ADCToGeV changed accordingly (=> recHit energy scale unchanged)
      • Anomalous channel treatment
    • recovery algorithms for saturated channels, isolated dead channels and isolated dead FE in the release, OFF by default
    • recHit flags to track the reconstruction quality

  • Severity level system
    • gives reliability of recHit energy/time measurement

  • Clustering
    • Migration to have common base class (CaloCluster) with PFlowClusters
    • Cluster corrections updated and improved, parameters now taken from the DB
    • Possibility for a recHit to share the energy between clusters (not yet used)

  • Laser monitoring software (matacq DataFormats, sorting, CMS.MusEcal)

  • CMS.DataBase
    • CMS.EcalChannelStatus filled with current detector knowledge
    • New object to hold cannel-to-channel time-calibration
    • New object to hold cluster correction parameters
    • New object to hold EcalElectronicsMapping

HCAL reconstruction:

  • Anomalous event framework:
    • RecHit flag framework: additional flag in CaloRecHit (joint with ECAL)
    • HcalHitReconstructor replaces HcalSimpleReconstructor:
      • runs noise, recovery and error identification algorithms
      • drops Zero Suppression marked&passed Digis
      • drops RecHits according to the drop-information from SeverityLevelComputer
    • noise identification algorithms: HBHEmultiplicity, HBHEpulseshape, HFlong_short_ratio, HFpulseshape
    • recovery algorithms: timing recovery algorithm (latency problem correction)
    • error identification algorithms: ADC saturation, timing recovery was not possible
    • SeverityLevelComputer:
      • grades a problem into severity levels based on information from the channel status from the DB and the RecHit flag with an integer value (the higher the integer the more severe is the problem: currently, channels that are off, dead or hot have a critical severity level),
      • gives back which channels should be dropped based on channel status from DB (currently, dead and off channels are dropped),
      • identifies RecHits which have been recovered (currently, HCAL recovers only timing information)
    • CaloTower:
      • based on severity level, uses the non-critical RecHits to construct the CaloTower,
      • counts the number of bad, problematic, and recovered RecHits, separately for ECAL and HCAL, in its status flag,
      • counts RecHits which have a critical severity level and which have been dropped at reco in the "bad" counter
    • Latency problems recovery (Ken)
  • HCAL noise library:
    • EDProducer running in reconstruction chain, uses information from digi, RecHit, CaloTower to create two additional objects in EDM
    • creates reco::HCALNoiseRBX in RECO,
    • creates reco::HcalNoiseSummary in AOD
  • General timing correction at reconstruction: to correct the observed time shift of the RecHits (15ns)
  • Logical map calculation for the needs of the noise algorithms
  • CaloTower: contains of E_T cut capability for EE and two-side cut capability
  • unpacker changes for ZS mark&pass
  • unpacker changes for HCAL run monitoring in the orbit gap
  • DB now contains realistic channel status for all HCAL channels (in the MC global tag):
    • dead channels include those which are dead (2 ch. in HO ring 0),
    • dead channels include the "chimney channels" (non-existing channels due to chimneys in ring 0 - ieta=5 - in HO)
    • hot channels include all of ring 1 and 2 from HO

DT reconstruction:

  • Changes in the t0 correction to DT segments and hits algorithm:
    • now the application of the correction doesn't require the whole pattern recognition to be rerun. This implies a decrease of computational time by a factor ~ 30%, with the same results.
  • Various cleanups of the code.
    • from the cosmics experience in 2_2_X we learned quite a lot about the local reconstruction response in different topological conditions, and improved the stability of the code. * protection from crashes and exponential cpu consumption in many cases that were unforseen before (like geometry inaccurances, sincrounous noise, etc)

  • Calibration:
    • modified the format of the ttrig table to include a k-factor per SL -> this will allow to optimize the pedestal with finer granularity

CSC reconstruction:

  • Geometry
    • MuonCommonData: mf.xml and muonNumbering.xml include ME42 chambers. (Outer ring of station 4; only 5 real chambers will be installed by LHC turn-on, in the +z endcap.)
    • CSCGeometryBuilder
      • can handle geometry-in-database.
      • cscSpecs.xml & cscSpecsFilter.xml updated to include ME42.
      • Strip angular sizes updated to precise real values from nominal. (This makes a difference when trying to close a ring by working around from chamber to chamber.)
    • CSCGeometry
      • New function: bool CSCLayerGeometry::inside(const Local3DPoint&) const flags whether the local point is inside the strip region.
      • Fixed a formal bug in thickness of layer (was set to thickness of chamber. Never used until I wrote inside!)
  • Data and Cond Formats
    • CSCDigi: minor cleanup of digis. CSCDCCFormatStatusDigi revamped: now contains status of Examiner/Unpacker.
    • CSCRecHit: CSCRecHit2D gets an implementation of sharesInput(.)
    • CSCObjects:
      • CSCConditions moved to CalibMuon/!CSCCalibration to reduce coupling.
      • isInBadChamber(.) moved from CSCConditions to CSCBadChambers so it can be used without using all CSC conditions data (e.g. Jake Ribnik).
      • CSCChamberMap needed access to more mapping data (already in the db, just no accessor.)
  • Unpacker (CSCRawToDigi)
    • Contains DigiToRaw too. The sim raw data format has a number of updates to become closer to the latest real data format. Examiner/Unpacker can handle it.
    • Fills new CSCDCCFormatStatusDigi.
    • New raw data display.
    • Removed superseded special-case code (e.g. MTCC related).
    • Untracked parameters to tracked.
  • Local Reco
    • Improvements in CSCEfficiency and CSCValidation
    • RecHits reco
      • Parameters become tracked.
      • Some fixes to position estimates for special case scenarios (edges, etc.)
      • Rechit time improved: used to use a 5-pole fit (matching expected output pulse shape from strip electronics). We studied whether we could simplify by a weighted average (unlikely to be better) or parabolic peak fit (seemed feasible). Conclusion is the 5-pole fit is best.
    • Segments reco
      • Parameters become tracked.
      • Enable pruning of bad hits; trap against 2-hit segments.
      • Bug-Fix: flipped off-diagonal elements of output segment covariance matrix.
      • Config includes ME42.

RPC local reco

  • Clusterization taking into accout masked strips.
    • Object to write masked strips in ORCOFF.
    • Software to read masked strips from ORCOFF
    • Software to merge the two clusters due to the presence of a masked strip and reconstruct a better RPCRecHit. * Alignment: Condformats for storage of the Misalignment constants.

Tracking:

  • pixel-less steps added to iterative tracking
    • reconstruct V0 decays up to ~60 cm from beam pipe
    • closes gaps in pixel acceptance e.g at eta = 0
    • should also improve the reconstruction of photon conversions
  • low pt tracking integrated in the iterative CTF: tracks down to ~80MeV with low fake rate
  • re-tuning of quality filters for all iterative tracking steps
  • V0 producer added to the standard sequence and AOD to reconstruct lambda and Kshort
  • dE/dX estimators added to the standard sequence
    • truncated and harmonic estimators added into AOD
    • more advanced discriminators for particle ID and HSCP available but not included in AOD or standard sequence due to timing
  • new dataformat for expected hits at both ends of a reconstructed track. algorithm to fill them will be added in some later 3.1.X release
  • special track propagator based on full GEANT4 geometry, to debug issues with the reco material model
  • other improvements in handling detector inefficiencies in tracking
    • bad pixel modules and ROCs
    • event-by-event bad modules from si-strip unpacking
  • review of the flagging of anomalous events and reco errors
  • various code cleanups and performance optimizations

EGamma:

  • Particle Flow Egamma integration:
    • a unique collection will contain electrons reconstructed by PF and Egamma sequences, the provenance information will be stored inside the electron itself.
    • add a set of configurables to apply preselection to PFElectrons.
    • duplication removal implemented also for PFElectrons. * CMS.DataFormat change:
    • two new classes (GsfElectronCore/!PhotonCore) containing the reference to the Electron/Photon constituents is produced by two new producers. The new products are "light" and these new collections will be stored in the event unpreselected. The "old" GsfElectron and Photon classes implement the Candidate interface and contain the Ref to the corresponding Core partner and all the other observables whose definition could evolve in the future.
    • the interface of CMS.GsfElectron/Photon class is organized and uniformized in blocks collecting set of related variables (Isolation,shower shape...).
  • Other changes:
    • added many parameters to configure pre-selection of Photons/Electrons.
    • Electrons:
      • new code to define "fiducial regions"
      • standardization of GSF mode calculation: used GsfTools
      • improved duplicate removal logic
    • Photon/Conversion:
      • bug-fix in the inOut seeding and recovery of some inefficiency
      • replace cut on ecalIsoSum with ecalIsoSum/photon_Et
      • retain a maximum (configurable) number of conversion candidates per SC
      • fix the application of f(eta) correction to e5x5
    • Isolation:
      • footprint removal redefined in terms of crystal size
      • isolation parameters configurable separately for barrel and endcap
      • removal of clustered rechits from ecal isolation sum
    • Shower shape variables:
      • replacement of sigma_eta_eta with the new variable sigma_ieta_ieta
    • H/E: re-definition using calotowers
    • CMS.ElectronID:
      • added label for producer traceability
      • update default thresholds
    • Added HFElectrons to default sequence

CMS.JetMET:

  • Improved CaloTowers.
    • Include ECAL granularity for positioning
    • Include primary vertex correction for towers
  • JET:
    • New algorithms included:
    • Anomalous Cell Handling
    • Different thresholds for HO rings.
    • User-level track-jet association.
    • Several non-critical bugs fixed.
    • Calibrations for summer 08.
  • MET
    • Added Track Corrected MET (tcMet) to the RECO/AOD
    • Added ValueMap to the Muon Object (muonTCMETValueMapProducer) to store DeltaMEx, DeltaMEy, and type of correction used in tcMet
    • Added Muon Corrected CaloMET (corMetGlobalMuons) to the RECO/AOD
    • Added ValueMap to the Muon Object (muonMETValueMapProducer) to store DeltaMEx, DeltaMEy, and fit used for correction in corMetGlobalMuons
    • Changed names of two GenMET Collections in RECO/AOD
      • genMet ---> genMetCalo ( no BSM, neutrinos, or muons in negative vector Et sum )
      • genMetNoNuBSM --> genMetCaloAndNonPrompt (no BSM, prompt neutrinos, prompt muons in negative vector Et sum)
    • Added a third GenMET Collection to RECO/AOD genMetTrue (no BSM or neutrinos in negative vector Et sum)
    • Added HCAL Noise Summary (hcalnoise) to RECO/AOD (some products dropped after RECO)
    • Added the CaloMET Significance algorithm to the METProducer ( all significance of all CaloMETs is calculated )
    • Updated Optimized CalotowersCreator modules (calotoweroptmaker + calotoweroptmakeWithHO), which are run during metrecoPlusHCALNoise sequence to produce the optimized CaloMET collections. These are now cloned from the centrally updated and mantained version in RecoLocalCalo/!CaloTowersCreator/python/calotowermaker_cfi.py. A similar switch was done for the Scheme B towers used in RecoJets. * Few other minor bug fixes

Muon reconstruction:

(details presented on June 24)

  • Changes in DataFormats with actual changes to storage
    • New members in the isolation struct stored in reco::Muon (reco::CMS.MuonIsolation reco::Muon::isolationR03(), R05()) to contain the sum of ET (or PT) in the inner cone which is excluded from the isolation sum itself. The new members are trackerVetoPt, emVetoPt, hadVetoPt, and hoVetoPt.
      • Note that all of the above are available through the corresponding IsoDeposits via candEnergy().
      • These changes come with corresponding modifications to the MuonIdProducer to fill them
    • New members in the calorimeter energy struct stored in reco::Muon (accessible as reco::MuonEnergy reco::Muon::caloEnergy())
      • emS25 and emMax provide the sum of energy in the crystals and the maximum energy of a crystal in a 5x5 block around the muon's impact point on ecal.
      • ecal_time and hcal_time give the time measured in the crossed crystal or hcal cell.
      • ecal_position and hcal_position give XYZPoint were the muon enters the ecal and hcal respectively.
      • ecal_id and hcal_id give the DetId of the cell at impact point
    • Modification of MuonTime -related quantities
      • remove constrained in/out beta values from reco::MuonTime stored in the reco::Muon
      • Store detailed information of muon time (reco in DT in this case) in the reco::MuonTimeExtra which is stored in an external ValueMap
      • These ValueMap s are filled by a new producer MuonTimingProducer, which runs in standard reconstruction sequence.
  • Changes to functions inside DataFormats package affect selectors of good muon types
    • The selectors were previously member functions of a reco::Muon. Now they are moved to a separate file MuonSelectors, and put into muon namespace.
      • Old access: mu.isGoodMuon(type) New access: muon::isGood(mu,type)
    • Change to the implementation of GlobalMuonPromptTight to account for global muons with no valid muon hits (see below) includes a requirement on the number of valid hits in the standAlone track of the muon to be above 0.
    • It is now possible to store the result of muon::isGood(mu,type) call by invoking muonSelectionTypeSequence. It will produce a ValueMap per selection type, which can later be accessed in a unified way, similar to electron and photon ID flags.
  • Change in content of reco::Candidate part of the reco::Muon affects all global muons.
    • This touches the values like p4, and vertex-related quentities.
    • In 22X the reco::Candidate part of the reco::Muon with the global fit present is defined by the globalTrack.
    • In 31X the reco::Candidate part of a global muon is defined by the innerTrack unless both the inner and the global tracks have pt>200 GeV and the uncertainty of q/P of the innter track is large.
  • New producers of muon-related data products
    • MuonTimingProducer to store detailed timing information produces ValueMap. Instance muontiming is run in standard reco.
    • MuonSelectionTypeValueMapProducer to store boolean values of muon::isGood(mu,type), produces ValueMap. There are 11 instances configured in the muonSelectionTypeSequence. All are run in the standard muon reconstruction sequence.
    • SETMuonSeedProducer to create reco::MuonSeed collection based on SET algorithm.
      • The SET algorithm uses segments and performs a fit to a trajectory contrained to IP. The resolution in pt is better for high momentum muons.
      • The StandAloneMuonProducer using SET muon seeds on input should not perform the pattern recognition step. It is configured differently from the standard standalone muon producer.
      • Currently SET muon seeds are created and standalone and global reconstruction is performed for them in parallel to the usual seed-standalone-global sequence.
      • In the future the SET seeds (or standalone muons?) will be merged with the standard ones.
  • Significant changes to existing reconstruction algorithms only affect standalone muon reconstruction
    • Outlying hits are now defined by a tighter cut on chi2 (chi2<25, instead of <100 before) are kept inside the trajectory and list of hits in TrackExtra, they are marked as bad hits. Standalone muons with few valid hits or with invalid hits only (zero valid hits) are not discarded on output of the standaloneMuons producer. The rejection of outliers from the fit helps to improve the resolution, keeping the outliers on the track helps to improve efficiency.
    • The visible features include less hits on the standalone track and, in particular standalone tracks with zero hits.
  • Modifications to the muon reconstruction sequence
    • added muontiming; SET seed, SET standalone, and SET global tracking; muon selection type sequence
  • Modifications to the cosmic muon reconstruction sequence
    • added isolation calculation for all non-traversing muons as calculated in MuonIdProducer instances; added IsoDeposit producer sequence (as run in collision/MC reco) for muons instance of muons.
    • added caloMuons producer to the cosmic sequence

B-tagging and vertex reconstruction:

Algorithms:
  • remove old private electron identification based on ORCA code
  • remove old "softElectron" tagger
  • add soft electron identification based on PFElectrons / GsfElectrons
  • add "softElectronByPt", "softElectronByIP3d"
  • remove old "softMuonNoIP" tagger
  • add muon selection based on muon id flags, as provided by the muon POG (default is still "all global muons")
  • add "softMuonByPt", "soft muon by IP3d"
  • remove old "impactParameterMVA" tagger

Tools:

  • Ghost Track jet axis finding inside (a-la SLD) - RecoVertex/GhostTrackFitter + changes in other subsystems
  • Tool to detect whether a Jet is compatible with PV (or is otherwise coming from PU) available in RecoJets/JetAssociationAlgorithms and RecoJets/JetAssociationProducers
  • IP-based algorithms use the track-enhanced jet axis by default now for track quality selection and IP sign determination

Tau tagging:

  • Important changes
    • The names of the PFTau objects stored in RECO/AOD has changed! Please see WorkBookPFTauTagging#Tau_ID_Name_changes on the twiki.
    • The four vector of the PFTau object (inherited from reco::Candidate) is now constructed using only the constituents in the signal cone.
    • The minimum pT filter applied to the PFTau constituents has been lowered to 0.5GeV. The discriminator algorithms (DiscriminationByIsolation, etc) now apply the minimum pt filter and are user-configurable.
  • New features
    • The Tau Neural Classifier (TaNC) set of discriminators, an MVA based approach to QCD rejection is now produced in the AOD. The TaNC can greatly increase QCD rejection (~ order of magnitude) with respect to the standard isolation discriminators. Instructions for accessing the discriminator are available at WorkBookPFTauTagging on the twiki.
    • The discriminator for electron rejection now uses the MVA electron preID output that is stored in the PFCandidate that corresponds the leading charged hadron of the tau.
  • When using the LeadingPion option (i.e. the highest Pt particle can be either a charged or a neutral pion) we anyway require that exists at least one charged particle in the signal cone with pT > 0.5 GeV.

Particle Flow:

  • Tracking
    • Use of tracking 4thstep
    • Use of tracking 5thstep
    • Rejection of poorly measured tracks and of fake tracks
  • Muons
    • Implementation of tight and loose muonidentification
    • Use of muonidentification in the block treatment for detection of neutrals
  • Electrons
    • Use of PF electron identification in PF Algo, with improved performance.
    • Inclusion of pre-shower
    • Implementation of pre-shower + ECAL calibration
    • Sole use of link by RecHit
    • Cleaning of duplicate GSF tracks
    • Integration with e/g completed
  • Photons
    • Removal of the merged-photon MVA
    • Inclusion of the pre-shower
    • Implementation of the photon pre-shower/ECAL calibration and tuned thresholds
    • Use of primary vertex for direction determination
    • Need to integrate photons with e/g
  • Charged hadrons
    • Sole use of the link by RecHit
    • Implementation of the hadronECAL/HCAL calibration (with fast sim, so far)
      • Need to be redone with full simulation
    • Recovery of ECAL satellite clusters
    • Tuning of ECAL and HCAL thresholds
  • Neutral hadrons
    • Use of primary vertex for direction determination
  • Forward clusters (include HE and EE beyond tracker acceptance)
    • Enable hadronand electromagnetic clusters
      • Still need to be calibrated (energy and angle)
  • Track-Cluster and Cluster-Cluster links
    • Removal of the link by chi squared
    • Implementation of the link by rechit
    • Many bug fixes in this area
  • Software optimization
    • Reduction of the memory footprint (new DF for PF Blocks)
    • Speeding up of execution (mostly from bug fixes in the link area)
    • Reduction of the number of packages (from 13 to 7)
    • Refurbished all BuildFiles
  • Documentation:
    • PFT-09-001 with performance for jets, MET and taus approved and published.
  • Validation: many improvements
  • Oveall performance:
    • Better Jet energy response (5-15%) , resolution (up to 25%), control of the tails, angular resolution (factor of 2)
    • Better MET resolution, bias, direction (up to 50% improvements) and control of the tails (more than one order of magnitude)

-- AndreaRizzi - 29 Jun 2009

Edit | Attach | Watch | Print version | History: r8 < r7 < r6 < r5 < r4 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r8 - 2009-07-08 - AndreaRizzi
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    CMSPublic All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback