---+ !!! Spike Cleaning %TOC{title="Contents:"}% An area for Offline Guide information ---++ Introduction Below you can find some useful instruction that allow to apply spike cleaning at different level. All this instruction refer to CMSSW versions < 3_7_X. ---++ Spike Cleaning with Re-reconstruction There is the possibility to produce a cleaned collection of clusters and to re-reconstruct all the high-level objects (i.e. Electrons and Photons) on top of that. To perform the re-reconstruction with CMSSW_3_6_X some tags need to be checked out: <verbatim> cvs co -r V00-01-20 RecoEcal/Configuration cvs co -r V00-06-16 RecoEcal/EgammaClusterAlgos cvs co -r V00-06-50-02 RecoEcal/EgammaClusterProducers cvs co -r V00-11-02-01 RecoLocalCalo/EcalRecAlgos cvs co -r V00-04-27 RecoEgamma/EgammaHLTProducers cvs co -r V01-06-03 RecoEgamma/EgammaElectronProducers cvs co -r V01-12-06 RecoEgamma/EgammaElectronAlgos cvs co -r V00-03-19 RecoEgamma/EgammaIsolationAlgos cvs co -r V01-00-06 RecoEgamma/PhotonIdentication addpkg RecoEgamma/EgammaPhotonProducers cvs co -d EGamma/EGammaSkims -r pm20100610a UserCode/EGamma/EGammaSkims checkdeps -a scram b </verbatim> The full sequence that needs to be run is defined in <verbatim> EGamma/EGammaSkims/python/cleanReRecoSequence_cff.py </verbatim> and clearly the sequence <verbatim> cleanedEgammaSkimReco </verbatim> must be included in your path. An example of a reReco with cleaning enabled is under EGamma/EGammaSkims/test <verbatim> runCleaningReReco.py </verbatim> It will produce objects whose name is the same of the original one (except the process name). This solution has the advantage that superCluster production is not spoiled by the presence of isolated spikes close to the signal. The provided solution for the moment is cleaning only isolated spikes using the swiss cross algorithm. To apply a cut for the timing in 3_6_X we suggest you to use the kOutOfTime recHit flag as explained later ---++ Tools to clean at the level of the objects ---+++ Swiss Cross If you want to use the "Swiss Cross" method a static function to compute this variable given the DetId of the hit is provided in RecoLocalCalo/EcalRecAlgos: <verbatim> static float swissCross( const DetId id, const EcalRecHitCollection &, float recHitEtThreshold = 0. ); </verbatim> As input it takes also the RecHit collection and an optional RecHit Et threshold which by default is st to 0. ---+++ kOutOfTime If you want to clean the collection using the <verbatim>EcalRecHit::Flags = kOutOfTime</verbatim> flag you have to check directly the RecHit using the: <verbatim> uint32_t recoFlag() const </verbatim> method provided by the EcalRecHit interface. ---+++ More information More information are available in the [[https://twiki.cern.ch/twiki/bin/viewauth/CMS/EcalFirstBeam09Anomalous#Spike_identification_in_collisio][ECAL cleaning recipe twiki]] #ReviewStatus ---++!! Review status <!-- Add your review status in this table structure with 2 columns delineated by three vertical bars --> | *Reviewer/Editor and Date (copy from screen)* | *Comments* | <!-- In the following line, be sure to put a blank space AFTER your name; otherwise the Summary doesn't come out right. --> %RESPONSIBLE% !ResponsibleIndividual %BR% %REVIEW% Most recent reviewer
This topic: CMSPublic
>
DefaultWeb
>
WebHome
>
SWGuide
>
SWGuideEgamma
>
SWGuideEgammaSpikeCleaning
Topic revision: r6 - 2010-06-10 - MatteoSani
Copyright &© 2008-2022 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use
Discourse
or
Send feedback