Coder Social home page Coder Social logo

ecalelf's Introduction

/**

  • \mainpage
  • Introduction: \ref page1

/ /*

  • \page page1 Code instructions and explanations
  • \verbatim ############################################################

ECALELF (Ecal CALibration with ELectrons Framework)

study and calibration with Zee and E/p

Code instructions and explanations

############################################################

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

For further implementations

#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 */

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.