Fast Simulation: How to tune ECAL noise

The principle, together with practical instructions for the old-style tuning (by Florian Beaudette), is explained here.
Florian's old macros are in FastSimulation/CaloRecHitsProducer/test.

A slightly different approach has been followed in April 2012, when a retuning was needed because new thresholds had been applied shortly before (in CMSSW_5_2_X) in ECAL's selective readout, with a visible impact on the ECAL isolation. In the following, this new approach is described.

Note: since CMSSW_6_1_0_pre6, the Fast Simulation is fully integrated with the ECAL digitizer from Full Simulation; therefore the noise model is taken from the digitizer and no specific noise tuning must be done in FastSim anymore. More information in this talk, slides 2-9

What to tune

Every time an update is needed, the developer has to edit the parameters listed in the vector `HighNoiseParameters` in FastSimulation/CaloRecHitsProducer/python/CaloRecHits_cff.py, in the blocks `ECALBarrel` and/or `ECALEndcap` of `RecHitsFactory` (in `ecalRecHit`).
The meaning of these parameters is explained here.
The first parameter of the array is the mean value of the noise after smearing; it is supposed to scale linearly with the increase of SR threshold (therefore, in the April 2012 retuning, it was scaled by 95/80 in the barrel and by 360/300 in the endcaps.)
Then, in the endcaps, the last two parameters are only used to compute the probability for the noise to exceed the threshold. Since the noise is gaussian, it means just computing the integral of the gaussian above the threshold. The threshold is the last parameter (therefore, in the April 2012 retuning, it was scaled by 360/300.)
In the barrel, the definition of the last parameter is directly the the probability for the noise to exceed the threshold. In the April 2012 retuning, this number was extracted from Full Simulation by producing a sample of neutrino events (= pure noise from the point of view of the detector) and counting the number of rechits. This number, divided by the number of crystals (61200 in the barrel, 7324 in the endcaps), is the probability of noise beyond the threshold.

Note: although it may seem counter-intuitive, there is no need to change the `SRThreshold` parameter.

Practical recipe to tune at RecHit level

To produce a standard configuration file for FullSim neutrino-gun events:

```cmsDriver.py SingleNuE10_cfi.py -s GEN,SIM,DIGI,L1,DIGI2RAW,RAW2DIGI,RECO --pileup=NoPileUp --conditions auto:mc --eventcontent=RECOSIM --datatier GEN-SIM-RECO -n 1000 --no_exec
```

The number of rechits is then counted in the `EcalRecHitsSorted_ecalRecHit_EcalRecHitsEB` collection.

To cross check, one must create a corresponding Fast Simulation sample by this command:

```cmsDriver.py SingleNuE10_cfi.py -s GEN,FASTSIM,HLT,VALIDATION --pileup=NoPileUp --conditions auto:mc --eventcontent=FEVTDEBUGHLT --datatier GEN-SIM-DIGI-RECO -n 1000 --no_exec
```

Validating with standard Z->e+e- events at ECAL isolation level

• Produce relval-like events with cmsDriver.py ZEE_8TeV_cfi --conditions auto:startup -s GEN,FASTSIM,HLT:GRun,VALIDATION --datatier GEN-SIM-DIGI-RECO -n 1000 --eventcontent FEVTDEBUGHLT --no_exec
• cvs co Validation/RecoEgamma; scram b
• use this private cfg (adapted from Validation/RecoEgamma/test/ElectronMcSignalValidation_cfg.py) to produce a DQM file
• use this private comparison macro
• reference DQM files can be copied from the EGamma validation pages

If you want to do a scan of the `HighNoiseParameters` values in an automated way, you can use this private script.

-- AndreaGiammanco - 09-Mar-2012

Edit | Watch | Print version | History: r4 < r3 < r2 < r1 | Backlinks | Raw View | More topic actions
Topic revision: r4 - 2012-12-12 - AndreaGiammanco

Create a LeftBar

 Cern Search TWiki Search Google Search CMSPublic All webs
Copyright &© 2008-2021 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