-- DylanOliverTeague - 2015-07-22

Basics of Analysis

6 Steps of Analysis

  1. Generation: Making Events without outside physics (eg detector interference) from a set of Feynman diagrams. Gives the cross-section for your events and a root file with all of generated "ideal" events.

  1. RAW and Sim: make the Events form the Generation and start to add detector effects. This is done using a software called GEANT4

  1. AODSIM: Take the now simulated data and apply algorithms for identification. Now electrons, muons, etc are reconstructed

  1. miniAOD: Slimming down step that removes everything except the important information for actual analysis

  1. Ntuples: Further slimming. Only the important variable for each object are kept (eg energy, pt, phi etc)

  1. Analyzer: Actual analysis. Use the now useful data to apply cuts, produce histograms, efficiencies, etc

How To


There are two main pieces of software used in generation: Madgraph and Pythia. Both can be used independently to create the root files of the generated events, but CMS usually uses Pythia to output. Typically, generation can be done in two ways:

  • Use Madgraph to output events in an LHE (Les Hoches Events) and use Pythia for Hadronization and output

  • Use Pythia exclusively for generation


#MadGraph Generation

has fairly simple syntax, so running it to generate events is fairly easy. There are two steps for running Madgraph: creating the files for doing generation and actual generation.

For the first step, you have to define the type of generation. Here is an example file

import model mssm

define p = g u c d s u~ c~ d~ s~
define j = g u c d s u~ c~ d~ s~
define j = p
define l+ = e+ mu+ ta+
define l- = e- mu- ta-
define vl = ve vm vt
define vl~ = ve~ vm~ vt~
define xh = n1 n2 x1- x1+

generate p p > x1- x1+ j j QCD=0 @0
add process p p > n2 x1- j j QCD=0 @1
add process p p > n2 x1+ j j QCD=0 @2
add process p p > x1- x1+ j j QED=2 @3
add process p p > n2 x1- j j QED=2 @4
add process p p > n2 x1+ j j QED=2 @5

output ewkino

Convention is a cms event starts with partion collision (pp) and ends with output events. Madgraph allows for specification of the max number of QCD and QED vertices. The command, when run through Madgraph outputs a directory named as the output (in this case ewkino)

In the newly made directory, there are several files and directories, but the important ones are in directory Cards. In there, Madgraph takes the different cards for interpreting the events to be created.

  • proc_card.dat: holds the information from the command that created the directory. No need to change.

  • param_card.dat: Holds all of the particle information. This is what will be changed to test different SUSY masses. Many quantities are related to each other so, for starting out, use a param_card that is already set for generation.

  • run_card.dat: This specifies information about the actual collision, so it gives energy of beams, number of events, and other information about the collider

Once all three of those cards are set for the run, launch your file in madgraph. The output should be in Events and should be a compressed LHE file. This is what you will insert into Pythia

Pythia Generation

Pythia generation is all done using python files that are themselves made using cmsDriver.py. To make your python run file, you need only a pythia template file and the rest can be done on the command line:

cmsDriver.py path/to/file/file_name_pythia8_cff.py --filein file:input_LHE_file.lhe --fileout file:GENSIM.root --mc --eventcontent RAWSIM --customise SLHCUpgradeSimulations/Configuration/postLS1Customs.customisePostLS1 --datatier GEN-SIM --conditions MCRUN2_74_V9 --beamspot NominalCollision2015 --step GEN,SIM --magField 38T_PostLS1 --python_filename hadronizer_cfg.py --number=-1 --no_exec

To make your own files, look at ########## for more details

RAW and Sim/AODSIM/miniAOD

For taking the data and adding effects then slimming it, the requirements are are similar. You will use cmsDriver.py again to create the files to run these steps. It is much easier since you don't need an input python file to create these steps unlike Step 1. The things that change are going to be the specifications on what sort of datatier the data is. Here are some examples. Notice the difference in each:

cmsDriver.py  --filein file:test.root  --fileout RAWSIM.root  --pileup_input dbs:/MinBias_TuneA2MB_13TeV-pythia8/Fall13-POSTLS162_V1-v1/GEN-SIM  --mc --eventcontent RAWSIM --pileup AVE_20_BX_25ns  --customise SLHCUpgradeSimulations/Configuration/postLS1Customs.customisePostLS1  --datatier GEN-SIM-RAW --conditions auto:run2_mc  --step DIGI,L1,DIGI2RAW,HLT:2013,RAW2DIGI,L1Reco  --magField 38T_PostLS1  --geometry DBExtendedPostLS1  --python_filename STEP2.py  --no_exec -n 1

cmsDriver.py --filein file:RAWSIM.root  --fileout AODSIM.root  --mc --eventcontent AODSIM  --customise SLHCUpgradeSimulations/Configuration/postLS1Customs.customisePostLS1  --datatier AODSIM --conditions auto:run2_mc  --step RAW2DIGI,L1Reco,RECO,EI  --magField 38T_PostLS1  --geometry DBExtendedPostLS1  --python_filename STEP3.py  --no_exec -n 1

cmsDriver.py --filein file:AODSIM.root  --fileout mini_AODSIM.root  --mc --eventcontent MINIAODSIM  --runUnscheduled --datatier MINIAODSIM  --conditions auto:run2_mc  --step PAT --python_filename STEP4.py  --no_exec -n 1



Edit | Attach | Watch | Print version | History: r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r2 - 2015-07-24 - DylanOliverTeague
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Sandbox All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2023 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