HRSMC, A Geant4 Simulation for HRS and Beyond Jixie Zhang Hall A & C Data Analysis Workshop December 2013 Jixie Zhang Data Analysis Workshop, Dec 2013 1 Introduction HRSMC is a Geant4 program developed to simulate the physics for HRS, especi ally for the G2P and GEP experiments. It was also designed to support other H RS experiments. Geometry: Full G2P|GEP geometry: g2p target, target field coil, g2p scattering chamber, local dump, sept um, platform itself, 3rd arm

HRS QQDQ magnet geometry (no field, using SNAKE transportation *) BigBite Hall A Neutron Detectors (HAND) BoNuS RTPC SuperBigBite HMS CREX: HallA scattering chamber, CREX target. Fields: g2p chicane fields, target field, septum fields, BigBite field. HRS QQDQ fields are not included yet. The HRS transportation came from the program SNAKE and MUDIFI.(Thanks t o J. LeRose and M. Huang) Jixie Zhang Data Analysis Workshop, Dec 2013 2 Geometries in HRSMC

Detectors and fields can be turned on or off in configuration files. See more in next few slices. Jixie Zhang Data Analysis Workshop, Dec 2013 3 The UVA Polarized Target The UVA polarized target used in G2P|GEP. Both Hall-C coil and Hall-B coil available, with field of course. This target will also be used for several future experiment. Jixie Zhang Data Analysis Workshop, Dec 2013 4 G2P|GEP Geometries G2P|GEP Geometries include the following: chicane magnet, target platform, scattering ch

amber, target coil, target nose and the target itself, local dump, sieve slits, septum magnet, plastic shielding blocks, 3rd arm. Jixie Zhang Data Analysis Workshop, Dec 2013 5 BigBite and HAND Geometries OLD BigBite and HAND geometries, good for E08-005, with magnetic field. Jixie Zhang Data Analysis Workshop, Dec 2013 6 RTPC Geometries 6 GeV BoNuS RTPC is available Can change the following in the configuration files: detector length, target pressure, target temprature, target straw t hickness, drift region start radius and end radias, Mylar foil thickn

ess, gem foil thickness and location ... With DVCS field or UVA field (need field map). 40 cm length version Jixie Zhang Data Analysis Workshop, Dec 2013 7 RTPC + SBS RTPC using UVA solenoid RTPC using DVCS solenoid SuperBigBite magnet block added, not cut for the beam pipe yet. Field included. Neither the copper coil nor the detector geometries were built ( I have some code in hand, can add this part if needed) (for pion structure program) Jixie Zhang Data Analysis Workshop, Dec 2013

8 UVA Target + HMS HMS QQQD magnet block added, but no field map yet. No detectors A plane for NPS Can recyle from Hall C collabortors if there is any. Or using there GDML input file Collimator (for WACS program) Jixie Zhang Data Analysis Workshop, Dec 2013 9 UVA Target + SBS

SBS magnet block added, magnetic field also ready. No detectors Can recyle from g4sbs. Or using there GDML input file A plane for NPS Jixie Zhang Data Analysis Workshop, Dec 2013 (for WACS program) 10 Adding New Geometries Different experiments usually vary from geometries on the ta rget platform. Each target or detector is hard coded, associated with a confi guration file to turn each individual component on or off. RTPC

Detector_RTPC.ini SBS Detector_SBS.ini HMS Detector_HMS.ini HRS Detector.ini G2P Detector_G2P.ini CREX Detector_CREX.ini XXX, Future Exp Detector_XXX.ini CREX target + G2P septum HRSMC can support any new experiment by adding a new geometry class.

All sensitive detectors are sharing a standard hit processing but varies in Sensortive Detector ID. All hits will be recorded automatically. Jixie Zhang Data Analysis Workshop, Dec 2013 11 How to simulate HRS transportation and reconstruction in G2P|GEP ? Jixie Zhang Data Analysis Workshop, Dec 2013 12 Strategy for without Target Field Vertex plane Target plane Focal plane

Sieve plane Virtual boundary rd a w for e k Sna Propagated by Geant4 ard w ack b ke a n S

Vertex to Sieve: propagated by Geant4 with a physics model (i.e. MSC, Decay, Ionization, EM physi cs...) Sieve to Focal: linear project the particle from sieve to target then using SNAKE forward model, 810 software collimator cuts are applied along the trajectory to make sure that particle can really hi t the focal plane. Focal to target: using SNAKE backward model or real optics matrix. Target to Vertex: linear projection. Jixie Zhang Data Analysis Workshop, Dec 2013 13 Strategy for with Target Field Vertex plane Target plane Focal plane Sieve plane Virtual boundary S rd

a w for e nak Propagated by Geant4 S ard w ack b e nak Drift-In-Field Vertex to Sieve: propagated by Geant4 with a physics model Sieve to Focal: project sieve to target then using SNAKE forward model, 8-10 software collimator c uts are applied along the trajectory to make sure particle is really hitting the focal plane. Focal to Sieve: using SNAKE backward model or real optics matrix from focal to target, then projec t from target to sieve.

Sieve to Target: using Drift-In-Field model. Target to Vertex: using Drift-In-Field model. Jixie Zhang Data Analysis Workshop, Dec 2013 14 Sieve to Focal Vertex plane Target plane Sieve plane Virtual boundary S Focal plane rd a w for e

nak Hit at sieve, propagated in Geant4 Image the hit at sieve plane to target plane, this is the effective vertex ... Very important Sieve2Focal = Sieve2Target + Target2Focal Sieve to Target: linear projection to get the effective vertex Target to Focal: using SNAKE forward model to propagate effective vertex to fo cal plane, 8-10 software collimator cuts are applied along the trajectory to ma ke sure particle is really hitting the focal plane. Jixie Zhang Data Analysis Workshop, Dec 2013 15 Effective BPM X0_tr and Theta_tr X0_tr is the BPM vertical measurement, it will be used to reconstruct the focal plane to the target plane. When target field is on, the BPM measurement is no longer the one we should use in the NO target field backward model.

Thrown variable in target plane Variable in target plane imaged by NO target field SNAKE model 5.0 T target field Jixie Zhang Data Analysis Workshop, Dec 2012 16 With Target Field: Focal to Sieve Vertex plane Target plane Sieve plane Virtual boundary S Focal plane

ard w ack b e nak Drift-In-Field Focal2Sieve = Focal2Target + Target2Sieve Focal to Target: using SNAKE backward model or real optics matrix Target2Sieve: linear projection Sieve to Target: using Drift-In-Field model to swing the particle in a field. Jixie Zhang Data Analysis Workshop, Dec 2013

17 HRS Transportation HRS transportation function usually come from SNAKE and MUDIFI. Always fitting from target plane to focal plane. There will be 8 -10 end planes along the trajectory to make sure that the parti cle do not hot the magnet blocks. Currently the following SNAKE models are ready to use: Standard HRS, 12.5 degrees, NO septum Two models of 6 degrees HRS with septum for E97-110. One is for larger X0 and the other is f or normal X0 Several models of 5.65 degrees HRS with septum and 3 cm circular raster for G2P|GEP, varyin g in the active septum coils in the right septum: 48-48-16 No Shims, 48-48-16, 40-32-16 and 40-00-16 Can add more SANKE models (Min Huang and John LeRose are the experts)

Usually need to make correction in focal plane in order to match real data Alternate method: use optics calibration result, generate data from focal p lane to target, then run MUDIFI to fit a forward transportation function. this will guarantee to match the real data! Jixie Zhang Data Analysis Workshop, Dec 2013 18 What make HRSMC different from others? Jixie Zhang Data Analysis Workshop, Dec 2013 19 Advance Features of HRSMC

Flexible command line, (customize HRSUsage.ini) Flexible physics models Powerful field interpreter Powerful event generator: BdL, Elas, QuasiElas, RootNtuple, RootHisto, Compton, Two-body ... Flexible Virtual Detector configured by input file. One can study the acc eptance of a future detector without modifying the source code Fast option XS models: elastic inelastic (QFS, EPC, Peter Bosted and wiser, thanks t o Chao Gu). Various SNAKE models, can easily add new ones HRS event can be reconstructed by both SNAKE backward and REAL op tics matrix

Jixie Zhang Data Analysis Workshop, Dec 2013 20 Flexible Command Line HRSMC can take more than 30 options in the command line, each op tion will have compulsory arguments and optional arguments. Each a rgument has a default value. The usage looks like: HRSMC -option1 [argu2(0)] ... [argu9(0)] \ -option2 [argu2(0)] ... optionN HRSMC -help : Get whole help menu HRSMC -option1 help : Get help menu only for option1 All options key, argument name, type and their default values and th eir explaination message are defined in HRSUsage.ini. One can customizeHRSUsage.ini with his own default values to mak e the command line shorter. Jixie Zhang Data Analysis Workshop, Dec 2013

21 Geant4 Physics Modules The following models are available (default is QGSP_BERT): FTFP_BERT, FTFP_BERT_EMV, FTFP_BERT_EMX, FTF_BIC, LHEP, LHEP_EMV, QBBC, QGS _BIC, QGSC_BERT, QGSP, QGSP_BERT, QGSP_BERT_EMV, QGSP_BIC_EMY, QGSP_BERT_EMX, QGSP_BERT_HP, QGSP_BIC, QGSP_BIC_HP For detials of these model, please refer to http://geant4.cern.ch/support/proc_mod_catalog/physics_lists/referencePL.shtml Jixies personal Models: QGSP_BERT, QGSP_BERT_HP,QGSP_BIC, QGSP_BIC_HP, HRSHadronPhysics User-Step-Limit will be invoked for e-, pr, alpha, D2 and He3 in model HRSHadronPhysi cs, allowing various step length in the target nose, scattering chamber, in FZ magnets a nd the rest of the hall. Switch physics models in command line:

Include Neutrons, _HP means high precision, covers neutrons below 20 MeV HRSMC physicsmodel [UseJixieModel(0)] [TargetStepLimit(5)] \ [ScatCham berStepLimit(10)] [BStepLimit(500)] [FZBStepLimit(100)] Jixie Zhang Data Analysis Workshop, Dec 2013 22 Cross Section Models Elastics Cross Section Models are available Have dedicated elastics cross section model for H, 3He, 4He, N, C (K. Stansfiel ds and C. Larrys model) and Ta, will use K. Stansfields fit for any other elem ents. See Phys. Rev. C, 3(1971)1448 for details. Inelastic Models:

Peter Bosted, with or without radiation correction QFS, with or without radiation correction EPC Wiser Real Compton Scattering: Gerale Miller Deuteron Wave Function: PARIS Model HRSMC -CalculateXS [CalculateXS(1)] Jixie Zhang Data Analysis Workshop, Dec 2013 23 Fast Option of HRSMC A Geant4 program can run faster if you understand what you are asking it to do and how it execute your order... Some possible actions which can make it run faster:

Write a high efficient event generator Disable or minimize verbose (screen printing) using macro files Kill all secondaries if possible Shrink the size of the hall (configure Detector.ini) Place absorber (track got killed whenever it hit this object) in anywhere you wish to stop par ticles Turn off detector resonponse if possible, and do not not store all trajectories into the ntuple Cancel some event actions if possible, for example -CalculateXS 0 The detail usage for option '-FAST' or '-fast' is: HRSMC -fast [NoSecondary(1)] [NoDetectorResponse(0)] [StoreSecondary(2)] [StoreTrajectory(0)] -CalculateXS [CalculateXS(1)] Jixie Zhang Data Analysis Workshop, Dec 2013 24

Event Generator Engines RootNtuple: Read the given ntuple, which is the output of HRSMC, and use the vertex and mome ntum RootHisto: Read the given ntuple, which is also the output of HRSMC, based on the histogram distribution to throw position and momentum. Specify event engine in command line using -engine and -mcin#: HRSMC -engine [PrimaryEngine2(Uniform)]...[PrimaryEngine8(Uniform)] \ -mcin1 [TrigNum1(0)] \ [SkipNum1(0)] ... -mcin8 \ [TrigNum8(0)] [SkipNum8(0)] Example: HRSMC -engine HRSElasEl HRSElasNucleus HRSMC -engine RootNtuple -micn1 infile.root track0 1000 10 HRSMC -engine RootNtuple RootNtuple -micn1 infile.root track0 -micn2 infile.root track1 Jixie Zhang Data Analysis Workshop, Dec 2013 25

Visulization (1) Original for GEMC (Credit to Maurizio Ungaro) I modified it as a plugin of any Geant4 Program, you can use it in your project too It allows you to manupulate the camera view or detector view Some features are dedicated for CLAS12, will be clean out in future Jixie Zhang Data Analysis Workshop, Dec 2013 26 Visulization (2)

Expand the list of daughters Invisable This widget allows to change the shape, position, rotation and visulization of a logical volumn Very cool for debugging ... Sensortive Detector Jixie Zhang Data Analysis Workshop, Dec 2013 27 Visulization (2) Jixie Zhang Data Analysis Workshop, Dec 2013 28

Output Verbose (screen output): verbose can be turned on or off using internal com mand, which can also be written into a macro files. Output files: 2 types of output are available: ascii file, root ntuple. Can be tur n on|off in Detector.ini. For the ascii and verbose output, one can choose the following: 1) keep steps only in the given physical volumes: /stepping/add2PrintList 2) keep only one track in each event: /tracking/thisTrackOnly 3) keep only tracks of the given particle: /tracking/particleOnly What is in the ntuple? 1. Some 1-D or 2-D distribution of the thrown vertex and momentum. Can be use as monitor histogram and as the input for event generator RootHisto Tree config: record important configuration parameters. Only one event is filled. Tree track#, where # is 0,1,2...7: contains the vertex plane, target plane, sieve plane, focal plane variables and

also the following variable at each step along the particle trajectory: X,Y,Z,L,TL,Ekin,dE,Dsty,Radlen,Bx,By,Bz Tree D: contains trojectories of all particles and also the detector hit vaiables like: ParicleId,TarckId,ParentTrac kId,SD_Id,T(time),X,Y,Z,Edep,Edep_daughter,P,theta,Phi,Pout 2. 3. 4. See details in file HRS_nt_structure.txt Jixie Zhang Data Analysis Workshop, Dec 2013 29 Documentation

Source code is available in SVN: https://jlabsvn.jlab.org/svnroot/halla/groups/g2p/HRSMC/ Instruction for Geant4 installation, environment setup and update history are available . Usage manual will be printed by typing these commands: HRSMC -h, HRSMC --h, HRSMC -help, HRSMC --help Usage: HRSMC [option1 argument_list] [...] [optionN argument_list] To get the detail usage of an option, just type 'help' after it. For example: HRSMC -phys icsmodel help Description for internal commands (html format) are already: https://jlabsvn.jlab.org/svnroot/halla/groups/g2p/HRSMC/Menu/ Output root ntuple structure description is ready here: https://jlabsvn.jlab.org/svnroot/halla/groups/g2p/HRSMC/HRS_nt_structure.txt A lot of macro files and root scripts are available: https://jlabsvn.jlab.org/svnroot/halla/groups/g2p/HRSMC/macros Jixie Zhang Data Analysis Workshop, Dec 2013 30

Resolution of HRSMC Using SNAKE Model 484816+s him, No Target Field Raster=2.4cm, BPM resolution: 1 mm in vertical, No target field Jixie Zhang Data Analysis Workshop, Dec 2013 31 Resolution of HRSMC Using SNAKE Model 484816+s him, Stop at Target Plane,5T Raster=2.4cm, BPM resolution: 1 mm in vertical, 5.0 T target field Reconstructed to the target center Jixie Zhang Data Analysis Workshop, Dec 2013 32

Conclusion HRSMC is designed for multiple HRS experiments, especially for G2P and GEP. SBS, BB, HMS, HAND and RTPC are ready to use. It can be easily modified to sup port other experiments by adding the geometries. HRSMC have been used to simulate optics for G2P|GEP. We have another dedic ated program, g2psim, too. (See Chao Gus talk or details.) One can use real optics matrix to reconstruct simulated focal plane data. In othe r words, HRSMC can cross check the quality of optics matrix and help to improv e it, which is useful for those experiments with large raster. The strategy of the reconstruction with target field is: No-Target-Field-HRS + Drift-Sieve-to-Target-in-field . A lot advance features are included. Need support for SNAKE models. Thanks to Min Huang and John, need their con tinuous contribution.

Jixie Zhang Data Analysis Workshop, Dec 2013 33 Acknowledgment Thank John LeRose for providing guidance and SN AKE models Thank Min Huang for providing SNAKE models an d her hard work in optics optimization for real dat a Thank Chao Gu for helping in both simulation and optics optimization Thanks to all G2P Collaborators Jixie Zhang Data Analysis Workshop, Dec 2013 34

Back up Jixie Zhang Data Analysis Workshop, Dec 2013 35 Input Files Compulsory input files: Detector.ini: specify hall size, pivot, scattering chamber , target location, HRS angle. Also spec ify which experiment geometry will be turned on. Detector_G2P.ini: Specify how to build G2P geometries Detector_CREX.ini: Specify how to build CREX geometries Detector_XXX.ini: can be add for any future experiment HRSUsage.ini: interpret the command line arguments and provide the usage menu. All defau lt values for the command line arguments are written inHRSUsage.ini. One can customize them i n this file to avoid typing long command. BField_Helm.ini, BField_Septum.ini BField_*.ini: specify the rotation, position a nd current ratio...etc.

Field maps: g2p_hallbfield.dat g2p_septumfield_484816.dat ... Macro files: contains a series of Geant4 commands that one want the program to execute. A lot of files can be found in directory named mac ros Jixie Zhang Data Analysis Workshop, Dec 2013 36 Vertex Position Generator Uniform, support circular, rectangular and elipse shape of rasters. /mydet/rasterMode mode, where mode could be 1=circular, 2=rectangular and 3=eli pse /mydet/gunRHigh Rout unit, (will be the vertical half width if using rectangular raster) /mydet/gunRLow Rin unit, (will be the horizontal half width if using rectangular raste r) Straight beam line with a tilted angle: go through a given point with giv en slopes: /mydet/fixedPointBL3V x0 y0 z0 unit /mydet/slopeBL3V dxdz dydz z

Fixed location /mydet/position3V x y z Jixie Zhang Data Analysis Workshop, Dec 2013 37 Momentum Generator Engine(1) Uniform: In HCS: Specify the lower and upper limits of Ptot, Theta, and Phi, it will throw the m in flat distribution in Hall Coordinate System In TCS: Specify the lower and upper limits of Ptot, in-plane-angle(Theta) and out-pl ane-anlge(Phi), it will throw them in flat distribution in the Transport Coordinate S ystem Gaussian: Specify the mean value of Ptot,Theta and Phi, also given their standard deviations (sigmas), it will thrown them in gaussian distribution in HCS BdL: When target field is on, integrate the BdL from the vertex to 1 meter away from th

e target. Then throw Ptot, based on the BdL to determine the lower and upper lim its of the in-plane-angle(Theta) and out-plane-anlge(Phi). Finally throw these 2 an gles in TCS. Jixie Zhang Data Analysis Workshop, Dec 2013 38 Momentum Generator Engine(2) HRSElasEl(e-N or e-P): Throw the Theta and Phi angle Uniformly, then base on the beam energy and the t arget mass to calculate the elatic scattering momentum for the scattered electron HRSElasNucleus (e-N): Throw the Theta and Phi angle Uniformly, then base on the beam energy and the t arget mass to calculate the elatic scattering momentum for the scattered electron If shooting both e (1st track)and N (2nd track), it will throw the Theta_el and Phi_el angles Uniformly for the electron, then determine the Ptot_el and Ptot_N, Theta_ N, Phi_N HRSQuasiElasEl and HRSQuasiElasNucleus:

Similar to the elastic generator, but the target mass is proton mass (hard coded) Jixie Zhang Data Analysis Workshop, Dec 2013 39 Momentum Generator Engine(3) Compton: Generated incident photon energy according to Bremsstrahlung cross section, the n throw theta and phi angle, based on theta to calculate outgoing energy Can couple other primary to this photon such that one can simulate gamma-proto n Real Compton Scattering event under fixed electron beam energy, where the ph oton come from a radiator (using P_pr = P_incidentPhoton P_outgoingPhoton ) Two-Body: Couple one primary to another primary, using P_this = beam P_coupleto to cal culate its momentum vector Deutron Wave Function: Generate recoil proton following deuteron wave function, good for BoNuS and pi

on structure function program Jixie Zhang Data Analysis Workshop, Dec 2013 40 End Planes Propagate procedures and Na me Rules for Their Variables Variables: $={X,Theta,Y,Phi,Delta,(Z,P)} Two coordinate systems: Hall coordinate system (HCS) and Transport coordinate system (TCS, variable names always followed by_tr) Propagate procedures: 1.

2. 3. 4. 5. 6. 7. 8. 9. Thrown in vertex plane: $0, $_tr Images of thrown vertex at target plane: $tg_tr Sieve plane (Virtual Boundary): $vb, $vb_tr Projected to target plane: $_proj2tg_tr Focal plane: $fp_tr Snakes reconstruction at target plane: $_rec2tg_tr Project Snakes reconstruction to sieve plane: $_proj2sl_tr Drift from sieve plane to target plane: $tg_rec_tr Drift from target plane to vertex plane: $_rec, $rec_tr

$0,$0_tr -> $tg_tr -> $vb,$vb_tr -> $_proj2tg_tr -> $fp_tr -> $_rec2tg_tr -> $_proj 2sl_tr -> $tg_rec_tr -> $_rec,$_rec_tr BPM resolution of lab Y (vertical) was used in step 5 to go backward BPM resolution of lab X (horizontal) was used in step 9 to calculate vertex Z, then deter mined the vertex plane and do the drift. Compare the vaiables between planes: 1 vs 9 , 2 vs 8, 4 vs 6 Jixie Zhang Data Analysis Workshop, Dec 2013 41 SNAKE Model: Sieve Focal Snake models are actually fitted between target plane and focal plane. All used Snake models are without target field, which means their trajectories i

n between sieve plane and target plane are STRAIGHT LINES. Even for 5.0 Tesla target field, the integrated BdL_y from 800 mm to beyond is only 0.01 Tesla.m, about 1.46% of the total. This means the effect from the target field behind the sieve is negligable. field=5.0T trajectory: y vs z Therefore: Sieve-to-Focal-without-targetfield = Sieve-to-Focal-with-targetfield. Sieve-to-Focal = Target-to-Focal Target-to-Sieve .

Same for Focal-to-Sieve. Jixie Zhang Data Analysis Workshop, Dec 2013 42 Transform Vaiables between Coordinate System s: TCS and HCS TCS = Transport Coordinate System HCS = Hall Coordinate System Jixie Zhang Data Analysis Workshop, Dec 2013 Curtsey to Chao Gu

43 Uncertainty Estimation + Jixie Zhang Curtsey Data Analysis Workshop, Dec 2013 to Chao Gu 44 Study The Resolution ... tr means in transport coordinate labmeans in hall coordinate Meanwill be the offset of the reconstruction Sigmawill be the resolution of

the reconstruction Reconstructed variables in the target plane Jixie Zhang Thrown or effective variables in the target plane Data Analysis Workshop, Dec 2013 45 Resolution of SNAKE Model 484816+shim Ytg_tr resolution is very important when target field is on. Normal situation: 2 cm raster, +/-5% delta,full coverage of theta and phi.0 mm BPM vertica l resolution. Jixie Zhang

Data Analysis Workshop, Dec 2013 46 BPM Dependence of SNAKE Model 484816+shim Normal situation: 2 cm raster, +/-5% delta,full coverage of theta and phi. Delta and X_tr have strong dependence, Theta_tr has some dependence. Jixie Zhang Data Analysis Workshop,also Dec 2013 47 Resolution of HRSMC Using SNAKE Model 484816+s him, Stop at Exact Z0,5T Raster=2.4cm, BPM resolution: 1 mm in vertical, 5.0T target field Reconstruct to thrown vertex z (perfect Ytg_tr resolution)

Jixie Zhang Data Analysis Workshop, Dec 2013 48 Dependence of Theta Resolution, Using SNAKE Model 484816+shim,5T Resolution is out of control at the edge of the acceptance The overall dTheta resolution looks bad, but not too bad if binned in Z0_tr. That indicates it has strong dependence on Z0_tr, or the TRUE vertex z. dTheta resolution has very strong out-of-plane-angle, inplane-angle and TRUE vertex z dependence. In the region |Z0_tr|<10 mm, dTheta resolution satisfies the requirement of g2p. Need to find out a way to select good

resolution region. Jixie Zhang Data Analysis Workshop, Dec 2013 49