/**
- \mainpage
- Introduction: \ref page1
/ /*
- \page page1 Code instructions and explanations
- \verbatim ############################################################
############################################################
All the code needed to the ECAL studies and calibration with Zee is available in this package.
This and other README file in the package are the only documentation provided.
The code in this package takes the name of ECALELF (Ecal CALibration with ELectrons Framework) In each subfolder you will find a README in the doc/ directory containing all the relevant informations about the module and it's use.
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 doxygen fulldoc from the calibration/ directory and you can navigate instructions and code with firefox doc/doxygen/fulldoc/html/index.html
============================== Introduction
The general calibration workflow is: 1a) start from RAW-RECO 1.1a) apply a ZSkim or WSkim selection to reduce the size of the dataset 2a) produce the ALCARAW: 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 3a) 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. 4) calculate new electron energies with the EleNewEnergiesProducer that creates ValueMaps that associate a float (the new energy) to the electrons 5) 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 6.0) for MC, produce an association map between reco electron and gen electron (data-MC match) 6.1) 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() 7) Filter the events requiring that the electron has passed at least one selection 8) 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) 9) 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
1b) Start from RECO or AOD 2b) Produce directly the ALCARECO, dropping all the unuseful collections and reducing the recHit maps to the one related to the electrons 3b) nothing
#Step 5) could be done after step 1) since electronID and isolations #are not updated by the sandbox recalibration and then could be #performed just once.
============================== Code download and setup area (for bash shell) The recommended release for 2012 data is the 5_3_7_patch5 The recommended release for 2011 data is 4_2_8_patch7
if you have not the release area: svn export svn+ssh://svn.cern.ch/reps/analysis/trunk/calibration/setup.sh ./setup.sh CMSSW_5_3_7_patch5 cd CMSSW_5_3_7_patch5/src/ cmsenv
Instructions for ALCARAW and/or ALCARECO production are in calibration/ALCARAW_RECO/doc/README
Instructions for ntuple production is in calibration/ZNtupledDumper/doc/README
Good luck! \endverbatim */