Hands-on

Code for download: session6_start.tar.gz

Hands-on 6a

  • Set particles production thresholds (cuts) via Geant4 command in run.mac.

    • Use Help in Qt session to find out needed commands.
    • See setCut* commands in /run directory.
  • Define a region in EM calorimeter with production thresholds different from the default ones.

Hands-on 6b

With use of G4AnalysisManager (see example B4/B4d ):

  1. Create & fill histogram

    • Define a 1D histogram for the energy deposited per event for each calorimeter layer

    • Implement filling of histograms in the EmCalorimeterSD::EndOfEvent() function. Hint: To access the i-th calorimeter hit from fHitsCollection:

      EmCalorimeterHit* hit = (EmCalorimeterHit*)(*fHitsCollection)[i];
      
    • Activate plotting of histograms using the UI command(s)

  2. Create & fill ntuples

    • Define two ntuples representing the tracker chamber hits in each tracker chamber (one in the first arm and one in the second arm)

      • the chamber layer number
      • hit local position (x, y, z)
    • Implement filling of the ntuples in ChamberSD::ProcessHits();

      • Note that there is added a new data member, fNtupleId, in the ChamberSD class which allows to associate each tracker chamber with one of created ntuples
  3. Inspect generated file in ROOT with the ROOT browser

    • The command to call Root:

      root
      
      • To get root available on the classroom computers you need to define the environment using the provided script:
        source /nfsapp/physics/root.bash -n
        

Solution: session6_solution.tar.gz