Skip to content

Commit

Permalink
added new documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
Shervin Nourbakhsh committed Sep 16, 2015
1 parent 7b666f8 commit 3c7c7fc
Show file tree
Hide file tree
Showing 4 changed files with 129 additions and 0 deletions.
10 changes: 10 additions & 0 deletions EcalAlCaRecoProducers/doc/alcareco_production.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
/**
\page pAlcarecoProduction AlCaReco Production from AlCaRaw

AlCaReco centrally produced have a bug, you need to run a reReco of the AlCaRaw with the Prompt GT: \ref pFindPromptGT

Then follow the instructions for a rereco using as \b tag_name the name of the GT: \ref page5


*/

9 changes: 9 additions & 0 deletions EcalAlCaRecoProducers/doc/find_json.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
\**
\page pFindJson Where to find the golden json

The Golden Json is published by the certification group. Find the relative HN and subscribe if you are a regular user of ECALELF.

The official json files are put in
\verbatim
/afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/
\endverbatim
13 changes: 13 additions & 0 deletions EcalAlCaRecoProducers/doc/find_prompt_gt.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/**
\page pFindPromptGT How to find the Prompt GT

Prompt GT is not any more in the file metadata. You need to access the DB to verify the GT used in Prompt recoing the dataset using DAS.

You can do it from the command line using the following command:
\code
das_client.py --query="config dataset=/DoubleEG/Run2015C-EcalUncalZElectron-PromptReco-v1/ALCARECO | grep config.global_tag" | tail -1
\endcode


*/

97 changes: 97 additions & 0 deletions EcalAlCaRecoProducers/doc/introduction.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
/**
* \page page1 Introduction

############################################################
# ECALELF (Ecal CALibration with ELectrons Framework)
## study and calibration with Zee and E/p
############################################################


All the code needed to the ECAL studies and calibration with Zee is
available in this package.

The documentation of this packaged is provided in these pages extracted with doxygen from the source code and several txt files contained in the package itself.

The code in this package takes the name of ECALELF
(Ecal CALibration with ELectrons Framework)

Informations for the implementation or re-implementation can be
obtained looking the the various header files that will be completed
with exaustive documentation (in the future)

If you have doxygen, you can run the command
\code doxygen fulldoc \endcode
from the Calibration/ directory and you can navigate instructions and code locally with
\verbatim firefox doc/doxygen/fulldoc/html/index.html \endverbatim


### The general calibration workflow is:
\image html doc/ecalelf_schema.png
\image latex doc/ecalelf_schema.eps

1. start from AOD/RECO or AOD/RECO+RAW
2. apply a ZSkim or a ZSCSkim or a WSkim selection to reduce the size of the dataset
3. produce the ALCARAW from AOD/RECO+RAW:
in this format most of the collections are
dropped and only the electrons, the uncalibrated rec hits
and few other collections like the beamspot, the conversions, the
rhoFastJet are kept

4. Apply whatever ECAL tags (ADCtoGeV, IC, LC, Alpha) needed for test
or calibration and produce a new file in ALCARECO format.
The new file has a reduced collection of calibrated rechit of the
reco electrons, new SC collections produced with the new calibrated
recHits, the old reco electrons with a new SC associated
CAVEAT: all the electron variables are still the old RECO one,
only the reference to the new SC has been updated. This will not be
fixed, since it's a wanted feature that ensures that the selected
events are not changed and permit to check effectively the impact
of the calibration on the same events.

5. calculate new electron energies with the EleNewEnergiesProducer
that creates ValueMaps that associate a float (the new energy) to
the electrons

6. define if the electron pass some selections running the
EleSelectionProducer that creates valueMaps of floats with the
following meaning:
for cut-based selections 1=pass, 0=fail
for MVA selections the float is the output of the MVA

7. for MC, produce an association map between reco electron and gen
electron (data-MC match)

8. produce a patElectron collection where the electronID floats and
the new energies are imported by the patElectron and accessible by
electron.electronID("selectionName")
electron.userFloat("energyName")
the gen electron identified by the data-MC matching step are
embended in the patElectron and accessible by:
electron.genLepton().eta()
electron.genLepton().energy()

9. Filter the events requiring that the electron has passed at least
one selection

10. dump the event content to a flat tree with one entry for Zee
candidate (the variables are array of two elements with one electron
per element)

11. Run the analysis tools (Z fitter, smearing, etc.)



In case the purpose is just to run on a particular dataset without any
recalibration step, the 1-3a) steps can be replaced by

1. Start from RECO or AOD
2. Produce directly the ALCARECO, dropping all the unuseful
collections and reducing the recHit maps to the one related to
the electrons
3. nothing





*/

0 comments on commit 3c7c7fc

Please sign in to comment.