High Granularity Calorimeter Studies

Introduction/Theory:

  • A design and information of the HGCal can be found in https://twiki.cern.ch/twiki/bin/viewauth/CMS/PFForwardCalorimeterStudies
  • The file hgc-geometry-v4.pdf contains the design of the HGCal in the CMSSW (took it from the previous page)
  • The file HATS-HGCal contains a good and detailed information about the HGCal, this presentation was part of a HATS tutorial.

Analysis Description:

Prerequisite

  • Setup CMSSW in SL6 machines:

CMSSW in SL6 machines

source /uscmst1/prod/sw/cms/cshrc cvmfs
scram --arch slc6_amd64_gcc481 list CMSSW | grep CMSSW_7_1
scram --arch slc6_amd64_gcc481 project CMSSW_7_1_0_pre8
cd CMSSW_7_1_0_pre8/src/
cmsenv
scram b

Repositories:

CERN:

git init
git remote add origin https://github.com/pfs/PFCal/tree/master/PFCalEE
git clone -b BASELINE-TP https://github.com/pfs/PFCal
cd PFCal/PFCalEE/

  • Updated to the desired git tag version:
git tag
git fetch --all
git checkout (-f) Version

  • To set up the environment and compile (SL6 machines), go to the PFCalEE directory and run:
cd PFCal/PFCalEE
source g4env.sh
cd userlib
mkdir lib
mkdir obj
mkdir bin
make dictionary
make -j 5
cd ../
make -j 5 

FNAL

  • In the cmslpc (SL6) is possible that the setting up of the environment doesn't work, in that case it is required to connect to a SL6 node:
ssh cmslpc41.fnal.gov

  • After this, copy the repository to your working area:
cd workdir
git init
git remote add origin https://github.com/pfs/PFCal/tree/master/PFCalEE
git clone https://github.com/pfs/PFCal
cd PFCal/PFCalEE/

  • Updated to the desired git tag version:
git tag
git fetch --all
git checkout (-f) Version

  • Setup the environment (bash):
cp /uscms/home/yumiceva/work/HGCal/PFCal/PFCalEE/g4env_fnal.sh .
bash
source g4env_fnal.sh

  • Setup the environment (csh):
cp /uscms/home/yumiceva/work/HGCal/PFCal/PFCalEE/g4env_fnal.csh .
rehash
source g4env_fnal.csh

  • Compile the files:
mkdir -p userlib/{lib,obj,bin} && cd userlib && make dictionary && make -j 5 && cd - && make -j 5

Generation of events

  • The code submitProd.py is created to submit jobs in parallel to the batch system (using LSF), to run do:
python submitProd.py -options

  • In case of options conflicts it can be used also:
./submitProd.py -options

  • The options for the code are:
    • -n : Number of events to generate (default 1000)
    • -g : Use particle gun
    • -d : Data or type of particle to shoot (default e-)
    • -s : Short batch queue (default 1nd)
    • -l : Long batch queue (default 2nw)
    • -t : Git tag use it
    • -r : Run stats
    • -m : Detector model
    • -v : Detector version
    • -e : eos Path to save root file
    • -o : Output directory
    • -a : Incidence angle in radians (default 0)
    • -b : Magnetic field in Tesla (default 0)
    • -f : Path to the HepMC input file
    • -S : Not submit batch job

Particle Gun

  • To run this example modify the submitProd.py file to set energy loops and run:
for i in seq 0 5; do python submitProd.py -s 1nd -q 2nd -t V00-00-00 -g -r ${i} -v 3 -m 0 -e /store/cmst3/group/hgcal/Geant4 -o ~/work/ntuples -d e- -n 2500; done

Analysis

Outputs

  • A sample of the results are presented in the root files attached.
  • The file DigiPFcal contains the histograms for the noise check and the reconstructed hits in the detector.
  • The file HGcal contains 4 branches:
    • Event : Number of events to generate.
    • Sampling Section: Contains the information of the volume; the total, absorbed y measured energy; the fraction of particles, etc.
    • SimHit : Contains histograms such as the number of particles, energy, time, layer, etc.
    • GenParticle : Contains the information of the generated particle

Analysis code SimHits

  • An analysis script that plot histograms of the variables contained in the root files previously obtained is obtained using the MakeClass command in root.
  • The codes are named HGCal (see attached files), and are located in /afs/cern.ch/user/h/hhernand/work/codes
  • To run the codes successfully in root is required to load one library for the main directory of G4, for this run:
ln -s ~/work/PFCal/PFCalEE/userlib/include .
  • At the moment of start root, some libraries need to be loaded:
gSystem->Load("~/work/PFCal/PFCalEE/userlib/lib/libPFCalEEuserlib.so");
  • The output of this script will be a root file that contains all the desired histograms, plus some .txt files with information about the events.
  • As a sample of the results the Z-X profile of the detector under the action of the different particle guns can be found in the attached files.

Analysis code DigiRecoHits

  • For the Digitization the code Digitizer.cpp located in the directory .../PFCal/PFCalEE/userlib/test/
  • To execute this code run the command "make", the resulting executable will be located in the directory PFCal/PFCalEE/userlib/bin/
  • To run the executable:
./HGCal-SimHit (number of events) (complete path to input file) (complete path to output file) (granularity layeri-layerj:value, laye...) (noise layeri-layerj:value...) (threshold layeri-layerj:value...) (random seed value, default = 0) (debug, default = 0) (save sim hits, default = 0) (save digi hits, default = 0)
  • For the ECAL CALICE-like HG:
    • number of events : choosing 0 or negative numbers will lead to take the full number of events
    • granularity : 0-19:4,20-29:6
    • noise: 0-29:0.12
    • threshold : 0-29:2
  • The result will be a root file located in the output directory, this file will contain the Reconstructed information.
  • As a sample of the results the Z-X profile of the detector under the action of the different particle guns can be found in the attached files.

Geometry Visualization

  • To visualize the geometry that is used for the standalone simulation the files DetectorConstruction.cc (~/.../PFCalEE/src) and DetectorConstruction.hh (~/.../PFCalEE/include) contains the information of all the available geometries, e.g:
class DetectorConstruction : public G4VUserDetectorConstruction
{
public:

  enum DetectorVersion {
    v_CALICE=0,
    v_HGCALEE_Si80=1,
    v_HGCALEE_Si120=2,
    v_HGCALEE_Si200=3,
    v_HGCALEE_Si500=4,
    v_HGCALEE_gap1=5,
    v_HGCALEE_CALICE=6,
    v_HGCALEE_inverted=7,
    v_HGCALEE_concept=8,
    v_HGCALEE_W=9,
    v_HGCALEE_gap4=10,
    v_HGCALEE_prePCB=11,
    v_HGCALEE_v5=12,
    v_HGCALEE_v5_gap4=13,
    v_HGCAL=20,
    v_HGCALHE=21,
    v_HGCALHEScint=22,
    v_HGCALHE_CALICE=23,
    v_HGCAL_v5=24,
    v_HGCALHE_CMSSWv4=25
  };

  enum DetectorModel {
    m_SIMPLE_20=0,
    m_SIMPLE_50=1,
    m_FULLSECTION=2,
    m_SIMPLE_100=3
  }
  • In the PFCalEE directory the file PFCalEE.cc can be modified to change to use the desired detector and model, the line to change is:
  int version=0; //DetectorConstruction::v_HGCAL;                                                                                                       
  //int model=DetectorConstruction::m_FULLSECTION;                                                                                                     
  int model=DetectorConstruction::m_SIMPLE_20;
  • After the file is modified to compile run:
make -j 5
  • After this, run the following command (Changing the path to one in your directory):
export G4DAWNFILE_DEST_DIR=/afs/cern.ch/user/h/hhernand/work/PFCal/PFCalEE/
  • Copy the file vis.mac to the directory where the PFCalEE executable is (geant4_workdir/bin/Linux-g++).
  • To run the visualization is necessary to go to the directory where the PFCalEE executable is and run:
PFCalEE vis.mac
  • A sample and a complete geometry construction for the CALICE detector can be found in the attached files.
  • A sample and a complete geometry construction for the HGCalHe-CALICE (like) can be found in the attached files.

Topic attachments
I Attachment History Action Size Date Who Comment
PDFpdf CALICE.pdf r1 manage 13.2 K 2014-06-19 - 21:10 HectorHernandez  
PDFpdf CALICE_FULL.pdf r1 manage 110.3 K 2014-06-19 - 21:10 HectorHernandez  
Unknown file formatroot DigiPFcal.root r1 manage 66.4 K 2014-06-03 - 19:26 HectorHernandez  
PDFpdf HATS-HGCal.pdf r1 manage 5018.3 K 2014-05-30 - 15:52 HectorHernandez  
C source code filec HGCal.C r1 manage 7.2 K 2014-07-17 - 19:12 HectorHernandez  
Header fileh HGCal.h r1 manage 3.8 K 2014-07-17 - 19:12 HectorHernandez  
PDFpdf HGCalHE_CALICE.pdf r1 manage 19.4 K 2014-06-19 - 21:10 HectorHernandez  
PDFpdf HGCalHE_CALICE_FULL.pdf r1 manage 173.2 K 2014-06-19 - 21:10 HectorHernandez  
Unknown file formatroot HGcal_version3_model0_BOFF_e80_run5.root r1 manage 1474.1 K 2014-06-03 - 19:26 HectorHernandez  
Unknown file formatroot Histograms_e5_10evt_e-.root r1 manage 279.8 K 2014-07-16 - 21:39 HectorHernandez  
Unknown file formatroot Histograms_e5_10evt_mu-.root r1 manage 237.2 K 2014-07-16 - 21:39 HectorHernandez  
Unknown file formatroot Histograms_e5_10evt_pi-.root r1 manage 267.3 K 2014-07-16 - 21:39 HectorHernandez  
PDFpdf ZvX-eECAL.pdf r1 manage 61.6 K 2014-07-26 - 02:05 HectorHernandez  
PDFpdf ZvX-gammaECAL.pdf r1 manage 61.0 K 2014-07-26 - 02:05 HectorHernandez  
PDFpdf ZvX-muonsECAL.pdf r1 manage 21.7 K 2014-07-26 - 02:05 HectorHernandez  
PDFpdf ZvX-muonsHCAL.pdf r1 manage 21.3 K 2014-07-26 - 02:07 HectorHernandez  
PDFpdf ZvX-pionsECAL.pdf r1 manage 35.6 K 2014-07-26 - 02:05 HectorHernandez  
PDFpdf ZvX-pionsHCAL.pdf r1 manage 72.5 K 2014-07-26 - 02:07 HectorHernandez  
PDFpdf ZvX-protonsECAL.pdf r1 manage 34.1 K 2014-07-26 - 02:05 HectorHernandez  
PDFpdf ZvX-protonsHCAL.pdf r1 manage 73.0 K 2014-07-26 - 02:07 HectorHernandez  
PDFpdf ZvX_photonsHCAL.pdf r1 manage 65.9 K 2014-07-26 - 02:07 HectorHernandez  
PDFpdf hgc-geometry-v4.pdf r1 manage 177.2 K 2014-05-23 - 21:37 HectorHernandez  
Edit | Attach | Watch | Print version | History: r15 < r14 < r13 < r12 < r11 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r15 - 2014-10-25 - HectorHernandez
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Main All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback