Project

General

Profile

PC030213

Overview

  • MapCppTrackerNoise
    • MapCppSimulation -> MapCppTrackerMCNoise
      • generates MC/MCEvent/SciFiMCNoiseHit
    • MapCppTrackerMCDigitization
      • moves SciFiMCNoiseHit to SciFiDigits
  • Models noise in tracker electronics
    • variable effect
    • Keeps all digits
    • ACTION: Investigate logic for removing digits less than 2 NPE; probably remove this logic
  • Code takes 50 % longer to run
    • Suspect the cluster finding routine
    • ACTION: Profile and optimise

MapCppTrackerMCDigitization

  • ACTION: Adjacent noise hits are not registered as a noise hit; decided that logic should not consider any sort of clustering or neighbouring; merely look at whether digits are superimposed and if so add them
  • ACTION: Noise photoelectron smearing is missing and needs to be added
construct_digits
  • ACTION: better to do a sort and compare neighbours rather than nested for loops
add_noise
  • ACTION: better to do a sort by channel number on digits and noise hits; then compare digits with noise hits; if noise hit position > digit position, advance digits (or something) (used a C++ map rather than sort)

MapCppTrackerMCNoise

  • ACTION: ~MapCppTrackerMCNoise is a Destructor, not a Constructor
  • ACTION: void dark_count should be a verb
  • ACTION: private members should use consistent naming convention
Constructor
  • ACTION: all pointers should be initialised to NULL
Destructor
  • ACTION: all non-NULL pointers should be deleted
  • ACTION: who owns SF_pointers vector? If MapCppTrackerMCNoise, needs to be cleaned up
Birth
  • ACTION: argJsonConfigDocument is duplicated as private member data and as a variable in the function call
read_in_json
  • ACTION: reader, writer are defined but not/barely used(moved definition to header file)
process
  • ACTION: remove renaming _spill_to_cpp into spill; this is just confusing
  • ACTION: pass by pointer, not by reference to dark_count and save_to_json
dark_count
  • ACTION: Would like a NumberOfFibres parameter on the SciFi MiceModule - the logic for getting NumberOfFibres is a little dark
  • ACTION: if (D_NPE) ... is not safe as D_NPE is a double; should probably be left as a long
  • ACTION: check that the CLHEP random seed is being set okay (Never hurts to double check)
  • ACTION: smear the NPE somewhere - perhaps at MCDigitizer level
  • ACTION: SciFiDarkCountProbability number determination should be written up; is it channel dependent?