Pi0 Simulation for BigCal Jixie Zhang July 23, 2015
Outline https://github.com/jixie/sane_geant3_mc 1. Add more pi0 simulated events. 367M events now. 2. Extract the yield ratio using wiser cross section and Oscar's scaling fit cross section respectively. Compare these two results to each. Compile and run the code in 64-bit CentOS 6.5 Comparison is now on going.
Definition of Electron Cut In the geant3 simulated ntuple, an electron is defined as the following: A) cer_npe > 60 && cer_npe < 110 B) E_m > 0.5 cer_npe is the number of photon electron E_m is the energy deposited in the BigCal
About Thrown Events
Number of Atoms in The Target Nose Material Z Thickness (cm) Density (g/cm^3) Moll-Mass (g/moll) Number of Atoms (NA) Al end caps 14 0.013x2.54 2.7 26.982 0.0033042 H 1 1.8 NH3=0.867 NH3=17.0304 0.091636 x 3 N 7 0.091636 LHe 2 1.2+0.5+0.5 0.145 4.003 0.07969 A) 60% packing fraction; B) Target cell length is 3 cm; C) The liquid helium thickness outside the cell is 0.5 cm on both ends; D) Aluminum include 2 end caps(1.5 mil), 4k-shielding (1 mil) and target nose (4mil). This table shows the relative relation among materials in the target cell. If normalized to N14, the result is: H : He : N : Al = 3 : 0.869638 : 1 : 0.0360579
Weight Thrown Events to Match Cross Section Shape 1) Fill four 3-D histograms, H3XS, of E:CosTh:phi, the content in each 3-D grid is the averaged cross section of H, He, N and Al. 2) Sum these four 3-D histograms, weighted by the number of atoms in the target to get H3XS_total. Integrate the resulting 3-D histogram to get total cross section, XS_total. 3) Fill four 3-D histograms, H3N, of E:CosTh:phi, weighted by the number of atoms in the target. Add them together to get H3N_total. The integral of H3N_total, N_total, is the total number of thrown events. 4) Scale H3XS_total such that its integral equal to that of H3N_total, then H3Weight=H3XS_total/H3N_total. This weighting will match thrown events into the shape of cross section. Later on, use H3Weight to weight each event in the analysis. 5) Charge is proportional to N_total/XS_total. The yield from BigCal after all cuts will be scaled by Charge.
Averaged XS within E-cosTh bin Scaling Fit
Rate @ 100 nA Scaling Fit
Log file: Wiser All TotalXS= 0.0554312 H TotalXS= 0.0027661 weight= 3 He TotalXS= 0.0102431 weight= 0.869638 N TotalXS= 0.035752 weight= 1 Al TotalXS= 0.0685864 weight= 0.0360579 _e: TotalXS=0.0554312 N_Thrown=2.57535e+07 Lumi_14N_100na=3.44781e+34 To match 100na x 1000 seconds of charge: fChargeScale=0.0742098 TYPE N_thrown N_bigcal N_bigcal_cut N_e+_or_e- N_e+ N_thrown 22000000 20535839 19906524 6551984 89941 N_w_tg 2.57535e+07 2.40375e+07 2.32909e+07 7.66339e+06 101817 N_w_tgNdistr 2.55992e+07 2.36283e+07 2.30865e+07 4.99495e+06 19964.4 N_q_scaled 1.89971e+06 1.75345e+06 1.71325e+06 370674 1481.56 tg/tgNdistr 1.00603 1.01732 1.00885 1.53423 5.09991 ----------------------------------------------------------------------------------------------------------------------------------------- All TotalXS= 52.4221 H TotalXS= 2.44398 weight= 3 He TotalXS= 9.77546 weight= 0.869638 N TotalXS= 34.2099 weight= 1 Al TotalXS= 65.981 weight= 0.0360579 _pi0: TotalXS=52.4221 N_Thrown=4.50121e+08 Lumi_14N_100na=3.44781e+34 To match 100na x 1000 seconds of charge: fChargeScale=4.01539 TYPE N_thrown N_bigcal N_bigcal_cut N_e+_or_e- N_e+ N_thrown 367000000 302152391 261216491 5917807 3022183 N_w_tg 4.50121e+08 3.70624e+08 3.20395e+08 7.26506e+06 3.71081e+06 N_w_tgNdistr 4.47876e+08 3.6483e+08 2.56127e+08 1.40957e+06 732169 N_q_scaled 1.7984e+09 1.46493e+09 1.02845e+09 5.65998e+06 2.93995e+06 tg/tgNdistr 1.00501 1.01588 1.25092 5.15409 5.06825
Log file: Scaling Fit All TotalXS= 0.0554312 H TotalXS= 0.0027661 weight= 3 He TotalXS= 0.0102431 weight= 0.869638 N TotalXS= 0.035752 weight= 1 Al TotalXS= 0.0685864 weight= 0.0360579 _e: TotalXS=0.0554312 N_Thrown=2.57535e+07 Lumi_14N_100na=3.44781e+34 To match 100na x 1000 seconds of charge: fChargeScale=0.0742098 TYPE N_thrown N_bigcal N_bigcal_cut N_e+_or_e- N_e+ N_thrown 22000000 20535839 19906524 6551984 89941 N_w_tg 2.57535e+07 2.40375e+07 2.32909e+07 7.66339e+06 101817 N_w_tgNdistr 2.55992e+07 2.36283e+07 2.30865e+07 4.99495e+06 19964.4 N_q_scaled 1.89971e+06 1.75345e+06 1.71325e+06 370674 1481.56 tg/tgNdistr 1.00603 1.01732 1.00885 1.53423 5.09991 ----------------------------------------------------------------------------------------------------------------------------------------- All TotalXS= 30.4814 H TotalXS= 1.74382 weight= 3 He TotalXS= 6.072 weight= 0.869638 N TotalXS= 18.7486 weight= 1 Al TotalXS= 33.8599 weight= 0.0360579 _pi0: TotalXS=30.4814 N_Thrown=4.50121e+08 Lumi_14N_100na=3.44781e+34 To match 100na x 1000 seconds of charge: fChargeScale=2.3348 TYPE N_thrown N_bigcal N_bigcal_cut N_e+_or_e- N_e+ N_thrown 366939507 302152391 261216491 5917807 3022183 N_w_tg 4.50046e+08 3.70624e+08 3.20395e+08 7.26506e+06 3.71081e+06 N_w_tgNdistr 4.4788e+08 3.65012e+08 2.55834e+08 1.3226e+06 688288 N_q_scaled 1.04571e+09 8.5223e+08 5.97321e+08 3.088e+06 1.60701e+06 tg/tgNdistr 1.00484 1.01537 1.25235 5.49301 5.39137
BigCal RCS: 24 rows x 30 (columns) Y=0 at geant3 code Protvino: 32 rows x 32 (columns) different colors indicating the groupings of the trigger channels
Binned by groups of blocks Coded by 2-digit row index and 2-digit column index. i.e. This is 0101 Y=0 at geant3 code Protvino: 32 rows x 32 (columns) Grouped by: 8(rows) x 8 (columns) RCS: 24 rows x 30 (columns) Grouped by: 6(rows) x 6 (columns)
PROT Yield for Electron
PROT Yield for Pi0
RCS Yield for Electron
RCS Yield for Pi0
PROT Yield Ratio: Pi0 to Electron
RCS Yield Ratio: Pi0 to Electron Strong dependence on angle
PROT Pi0 Fraction: Pi0 to Total
RCS Pi0 Fraction: Pi0 to Total
Pi0 Cross Section: Scaling Fit Vs Wiser xsn is from scaling fit
Yield Ratio: Scaling Fit Vs Wiser Scalling Fit
Yield Fraction: Scaling Fit Vs Wiser Scalling Fit
64-bit sane-geant3 1. gxcs.f: Added a missing "EXTERNAL GBRSGE". Without that external, the second to last CSEXT was crashing 2. uginit.f: Put the address argument of every FFKEY call into a common block.
64-bit vs 32-bit
Summary 367M pi0 events have been simulated in geant3. Statistics is enough for 2x2 binning in the PROT and RCS. Oscar's scaling fit photon production cross section is about a factor of 0.5 to Wiser's. Yield ratio have strong dependence on theta angle. Binning by 2x2 in RCS and PROT might not be fine enough. Yield ratio can be fit by a smooth polynomial function to avoid point to point fluctuation.