100 likes | 221 Views
Root and muon calibration at Daya Bay. Deb Mohapatra. Daya Bay Framework: NuWa Nuwa is installed at “/home/ dayabay/nuwa ”. e xternals. Nuwa -release. lcgcmt , ldm , relax Gaudi lhcb dybgaudi. CMT, Boost AIDA, GSL, clhep , XercesC Geant4, OpenMotif , OpenScientist
E N D
Root and muon calibration at Daya Bay Deb Mohapatra
Daya Bay Framework: NuWaNuwa is installed at “/home/dayabay/nuwa” externals Nuwa-release lcgcmt, ldm, relax Gaudi lhcb dybgaudi • CMT, Boost • AIDA, GSL, clhep, XercesC Geant4, OpenMotif, OpenScientist • Python, Cmake, mysql • ROOT #!/bin/tcsh pushd /home/dayabay/nuwa/NuWa-trunk source setup.csh popd pushd /home/dayabay/nuwa/NuWa-trunk/dybgaudi/DybRelease/cmt source setup.csh popd
LED Diffuser Ball in Water Pool • LEDs are placed in the positions specified in the Near Pool and Far Pool Diagram (inside the red squire) above for this simulation • We simulate 2000 events with only one LED flashing at a time
How to generate LED Diffuser Ball MC import GenTools from GenTools.Helpers import DiffuserBall ball = DiffuserBall() ball.setVolume(myVolume) ball.setPosition( [xpos*units.cm, ypos*units.cm, zpos*units.cm] ) ball.ball.PhotonsPerEvent = intensity gtc = GenTools.Configure() # GEANT4 import DetSim detsim = DetSim.Configure(physlist = DetSim.physics_list_basic) # Next do the electronic simulation and trigger simulation # At the end you will get a ROOT file with EVENT and RUNHEAD info
How to write Analysis module from DybPython.DybPythonAlg import DybPythonAlg from GaudiPython import SUCCESS, FAILURE from GaudiPython import gbl from DybPython.Util import irange # Make shortcuts to any ROOT classes you want to use TTree = gbl.TTree 1 # Define the algorithm class TreeAlg(DybPythonAlg): "Tree-writing Python Algorithm" def __init__(self,name): DybPythonAlg.__init__(self,name) return def initialize(self) # Initialize services # Statistics Service: Use for histograms, graphs, trees # Make a tree return SUCCESS def execute(self): # Access current data # Set Branch values # Loop over hits in each detector # Fill the tree with current branch values return SUCCESS def finalize(self): return status 2 def configure(): from StatisticsSvc.StatisticsSvcConf import StatisticsSvc statsSvc = StatisticsSvc() statsSvc.Output ={"file0":"simHitStats.root"} return def run(app): ''' Configure and add an algorithm to job ''' app.ExtSvc += ["StatisticsSvc"] example = TreeAlg("MyTreeExample") app.addAlgorithm(example) pass 3 /home/dayabay/nuwa/NuWa-trunk/tutorial/DivingIn/python/DivingIn
Tutorial files • /home/dmohapat/tutorial/root101 • /home/dmohapat/tutorial/mucal