Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124

/*!

\page Calibration_EcalAlCaRecoProducers Package Calibration/EcalAlCaRecoProducers

<center>
<small>

<!-- @CVS_TAG@ will be substituted at build time, no need to touch -->
<a href=http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/CMSSW/Calibration/EcalAlCaRecoProducers/?cvsroot=CMSSW&only_with_tag=@CVS_TAG@>Source code (CVS tag: @CVS_TAG@)</a> - 
<a href=http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/CMSSW/Calibration/EcalAlCaRecoProducers/.admin/developers?rev=HEAD&cvsroot=CMSSW&content-type=text/vnd.viewcvs-markup>Administrative privileges</a>
</small>
</center>

\section desc Description
This module contains all the plugins and classes used to produce ECAL alcarecos.

\section streamList AlCaRecoStream list
 - AlCaCalElectron
 - AlCaUncalElectron
 - AlCaESAlign

\subsection AlCaESAlign AlCaESAlign
The aim of this alcareco is to have a reduced dataset with all the information used for ES Alignment.

The event content is defined in ALCARECOEcalESAlign_Output_cff.py

The generalTrack collection (and trackExtras) are reduced by the EcalESAlignTrackReducer plugin in order to save tracks in the ES acceptance

In order to test this alcareco:
\code
cmsDriver.py reco -s RAW2DIGI,RECO,ALCA:EcalESAlign -n 50 --data --conditions=auto:run2_data --nThreads=4 --filein=root://eoscms//eos/cms/store/data/Run2015C/SingleElectron/RAW/v1/000/254/232/00000/1EAA9237-B341-E511-9E18-02163E014390.root --customise Configuration/DataProcessing/RecoTLR.customiseDataRun2Common --customise_commands="process.options = cms.untracked.PSet(wantSummary = cms.untracked.bool(True))" 
\endcode
\code 
      cmsDriver.py testES -s ALCA:EcalESAlign --conditions=MCRUN2_74_V1 --filein=root://eoscms//eos/cms/store/relval/CMSSW_7_4_0_pre6/RelValZEE_13/GEN-SIM-RECO/PU25ns_MCRUN2_74_V1-v3/00000/04445CDB-7AAB-E411-8E6E-0025905A605E.root -n 100
\endcode

In order to tune the minNumberOfTracks to accept the event for an optimal alcareco size:
\code
for nMinTrack in 5 10 15 20; do cmsDriver.py reco -s ALCA:EcalESAlign -n 1000 --data --conditions=auto:run2_data --nThreads=4 --filein=${SingleElectronRECOFile} --secondfilein=${SingleElectronRAWFile} --dirout=SingleElectron-Run2012D/ --customise_commands="process.options = cms.untracked.PSet(wantSummary = cms.untracked.bool(True))\nprocess.esMinTrackNumberFilter.minNumber = cms.uint32($nMinTrack)" &> SingleElectron-Run2012D/$nMinTrack.log; edmEventSize -v SingleElectron-Run2012D/EcalESAlign.root &> SingleElectron-Run2012D/$nMinTrack.size; done
\endcode

\subsection 

(THE PACKAGE ADMINISTATOR SHOULD REPLACE THIS SENTENCE WITH HAND-WRITTEN DOCUMENTATION SAYING WHAT THE PACKAGE DOES.)

\section testInstructions EcalCalElectron and EcalUncalElectron test instructions

\subsection rawToRecoInstructions RAW to RECO production
\verbatim
mkdir {Single,Double}Electron-Run2012D/
SingleElectronRAWFile=/store/data/Run2012D/SingleElectron/RAW/v1/000/208/307/0085A34B-BD3A-E211-B6E9-003048D2BC4C.root
DoubleElectronRAWFile=/store/data/Run2012D/DoubleElectron/RAW/v1/000/208/686/4A4E42F9-3F3F-E211-A942-003048F118AA.root
cmsDriver.py reco -s RAW2DIGI,RECO -n 100 --filein=${SingleElectronRAWFile} --data --conditions=auto:run2_data --nThreads=4 --dirout=SingleElectron-Run2012D/
cmsDriver.py reco -s RAW2DIGI,RECO -n 100 --filein=${DoubleElectronRAWFile} --data --conditions=auto:run2_data --nThreads=4 --dirout=DoubleElectron-Run2012D/
\endverbatim

\subsection EcalUncalWElectron EcalUncalWElectron production from RAW and RECO files
\verbatim
SingleElectronRECOFile=files://$PWD/SingleElectron-Run2012D/reco_RAW2DIGI_RECO.root 
cmsDriver.py reco -s ALCA:EcalUncalWElectron -n 100 --data --conditions=auto:run2_data --nThreads=4 --filein=${SingleElectronRECOFile} --secondfilein=${SingleElectronRAWFile} --dirout=SingleElectron-Run2012D/ --customise_commands="process.options = cms.untracked.PSet(wantSummary = cms.untracked.bool(True))"   
\endverbatim

\subsection EcalUncalZElectron EcalUncalZElectron production from RAW and RECO files
\verbatim
DoubleElectronRECOFile=files://$PWD/DoubleElectron-Run2012D/reco_RAW2DIGI_RECO.root 
cmsDriver.py reco -s ALCA:EcalUncalZElectron -n 100 --data --conditions=auto:run2_data --nThreads=4 --filein=${DoubleElectronRECOFile} --secondfilein=${DoubleElectronRAWFile} --dirout=DoubleElectron-Run2012D/ --customise_commands="process.options = cms.untracked.PSet(wantSummary = cms.untracked.bool(True))"   
\endverbatim


\subsection EcalCalWElectron EcalCalWElectron production from RAW and RECO files
\verbatim
SingleElectronRECOFile=files://$PWD/SingleElectron-Run2012D/reco_RAW2DIGI_RECO.root 
cmsDriver.py reco -s ALCA:EcalCalWElectron -n 100 --data --conditions=auto:run2_data --nThreads=4 --filein=${SingleElectronRECOFile} --secondfilein=${SingleElectronRAWFile} --dirout=SingleElectron-Run2012D/ --customise_commands="process.options = cms.untracked.PSet(wantSummary = cms.untracked.bool(True))"   
\endverbatim

\subsection EcalCalZElectron EcalCalZElectron production from RAW and RECO files
\verbatim
DoubleElectronRECOFile=files://$PWD/DoubleElectron-Run2012D/reco_RAW2DIGI_RECO.root 
cmsDriver.py reco -s ALCA:EcalCalZElectron -n 100 --data --conditions=auto:run2_data --nThreads=4 --filein=${DoubleElectronRECOFile} --secondfilein=${DoubleElectronRAWFile} --dirout=DoubleElectron-Run2012D/ --customise_commands="process.options = cms.untracked.PSet(wantSummary = cms.untracked.bool(True))"   
\endverbatim

\subsection rereco ECALELF rereco: EcalRecalElectron production from EcalUncalElectron files
\verbatim
EcalUncalWElectronFile=files://$PWD/SingleElectron-Run2012D/EcalUncalWElectron.root
cmsDriver.py reco -s ALCA:EcalRecalElectron -n 100 --data --conditions=auto:run2_data --nThreads=4 --filein=${EcalUncalWElectronFile} --dirout=SingleElectron-Run2012D/ --customise_commands="process.options = cms.untracked.PSet(wantSummary = cms.untracked.bool(True))"   --process=RERECO --customise Calibration/EcalAlCaRecoProducers/customRereco.EcalRecal

EcalUncalZElectronFile=files://$PWD/SingleElectron-Run2012D/EcalUncalZElectron.root
cmsDriver.py reco -s ALCA:EcalRecalElectron -n 100 --data --conditions=auto:run2_data --nThreads=4 --filein=${EcalUncalWElectronFile --dirout=DoubleElectron-Run2012D/ --customise_commands="process.options = cms.untracked.PSet(wantSummary = cms.untracked.bool(True))"   --process=RERECO --customise Calibration/EcalAlCaRecoProducers/customRereco.EcalRecal

\endverbatim

\subsection interface Public interface
<!-- List the classes that are provided for use in other packages (if any) -->

- AlCaElectronsProducer


\subsection pluginai Plugins
<!-- List the plugins that are provided for use in other packages (if any) -->





\subsection modules Modules
<!-- Describe modules implemented in this package and their parameter set -->

- AlCaElectronsProducer
- AlCaElectronsTest

\subsection tests Unit tests and examples
<!-- Describe cppunit tests and example configuration files -->
Unknown

\section status Status and planned development
<!-- e.g. completed, stable, missing features -->
Unknown

<hr>
Last updated:
@DATE@  Author: computer-generated.
*/