hall-c software update...hall c analyzer overview • hall c root analysis framework (hcana) is...

23
Hall-C Software Update Joint Hall A/C Summer Collaboration Meeting Eric Pooser Jefferson Lab 06/23/2017 On behalf of the Hall-C Software Working Group

Upload: others

Post on 13-Nov-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Hall-C Software Update...Hall C Analyzer Overview • Hall C ROOT Analysis framework (HCANA) is written in C++ and is an extension of the Hall A analyzer “podd” • Based on previous

Hall-C Software UpdateJoint Hall A/C Summer Collaboration Meeting

Eric Pooser

Jefferson Lab

06/23/2017

On behalf of the Hall-C Software Working Group

Page 2: Hall-C Software Update...Hall C Analyzer Overview • Hall C ROOT Analysis framework (HCANA) is written in C++ and is an extension of the Hall A analyzer “podd” • Based on previous

Hall C Analyzer Overview• Hall C ROOT Analysis framework

(HCANA) is written in C++ and is an extension of the Hall A analyzer “podd” • Based on previous Fortran Analyzer

ENGINE infrastructure• Hall C ROOT Analyzer Wiki

• Maintained on GitHub• Users fork off of “develop” branch• Contributions are made in local/remote

personal repository of HCANA• Changes are pushed back onto the

development branch which (may) get merged into the development branch

• Detailed "How-To" wiki: instructions how to “Git” started with HCANA and GitHub

2Eric Pooser 06/23/2017 Joint Hall A/C Summer Collaboration Meeting

Page 3: Hall-C Software Update...Hall C Analyzer Overview • Hall C ROOT Analysis framework (HCANA) is written in C++ and is an extension of the Hall A analyzer “podd” • Based on previous

Hall C Analyzer Overview• In order to build and compile HCANA follow the ROOT Analyzer/Compiling Wiki• HCANA & podd are able to be built against ROOT 5.32 or later • If developing in HCANA (or podd), ROOT 6.08 or greater is HIGHLY recommended• HCANA can now be built with scons (recommended) • HCANA example analysis instructions found on the ROOT Analyzer/Running Wiki

3Eric Pooser

✔X

06/23/2017 Joint Hall A/C Summer Collaboration Meeting

Page 4: Hall-C Software Update...Hall C Analyzer Overview • Hall C ROOT Analysis framework (HCANA) is written in C++ and is an extension of the Hall A analyzer “podd” • Based on previous

Hall C Replay• Framework designed to

facilitate the reconstruction of events in the Hall C spectrometers

• The Hall C Replay Strucutre Wiki provides general information regarding the infrastructure

• The Hall C replay code is maintained in the JeffersonLab/hallc_replay GitHub repository

4Eric Pooser

• Experiments should maintain their own version of this repository

06/23/2017 Joint Hall A/C Summer Collaboration Meeting

Page 5: Hall-C Software Update...Hall C Analyzer Overview • Hall C ROOT Analysis framework (HCANA) is written in C++ and is an extension of the Hall A analyzer “podd” • Based on previous

Calibration Scripts in Hall-C Replay• Calibration scripts for each detector system are kept in

the Hall-C replay repository• Cherenkov calibration scripts will be added soon• If new calibration methods are developed, ADD THEM!

5Eric Pooser 06/23/2017 Joint Hall A/C Summer Collaboration Meeting

Page 6: Hall-C Software Update...Hall C Analyzer Overview • Hall C ROOT Analysis framework (HCANA) is written in C++ and is an extension of the Hall A analyzer “podd” • Based on previous

Hall C Online GUI• Contained within the Hall C online replay

framework & GitHub repository• “Macros” directory contains ROOT macros

which analyze root trees produced by HCANA• ROOT files produced via. Hall C replay

• “Config” directory contains files which call specific methods contained in ROOT macros to display specific histograms in the online GUI

• Useful "How-To" PDF discusses the details of the online GUI located in top level directory

6Eric Pooser 06/23/2017 Joint Hall A/C Summer Collaboration Meeting

Page 7: Hall-C Software Update...Hall C Analyzer Overview • Hall C ROOT Analysis framework (HCANA) is written in C++ and is an extension of the Hall A analyzer “podd” • Based on previous

Hall C Online GUI: Making Plots Great Again!

7Eric Pooser 06/23/2017 Joint Hall A/C Summer Collaboration Meeting

Page 8: Hall-C Software Update...Hall C Analyzer Overview • Hall C ROOT Analysis framework (HCANA) is written in C++ and is an extension of the Hall A analyzer “podd” • Based on previous

Hall C Online GUI: Making Plots Great Again!

8Eric Pooser 06/23/2017 Joint Hall A/C Summer Collaboration Meeting

Page 9: Hall-C Software Update...Hall C Analyzer Overview • Hall C ROOT Analysis framework (HCANA) is written in C++ and is an extension of the Hall A analyzer “podd” • Based on previous

New Hall-C Git Repositories• Radiative Correction Calculations

• rc-externals • Machinery for calculating

measured cross sections in bins of E’ and θ

• Monte-Carlo Physics Weighting• mc-reweight• Utilizes output from rc-externals • Framework for physics

weighting of MC data• ROOT script provides example

utilizing KPP data• Both repositories will be utilized

during the upcoming software analysis workshop

06/23/20179Eric Pooser Joint Hall A/C Summer Collaboration Meeting

Page 10: Hall-C Software Update...Hall C Analyzer Overview • Hall C ROOT Analysis framework (HCANA) is written in C++ and is an extension of the Hall A analyzer “podd” • Based on previous

Monte-Carlo Repository Modifications

10Eric Pooser 06/23/2017 Joint Hall A/C Summer Collaboration Meeting

mc_shms_singlemc_hms_single simc_gfortran

• Historically there have been three separate repositories for Monte-Carlo simulations

• This has proven difficult to maintain• Changes in the single arm (HMS & SHMS) MC’s have

to be propagated by hand into the coincidence MC• This is not only dangerous but time consuming

😳

Page 11: Hall-C Software Update...Hall C Analyzer Overview • Hall C ROOT Analysis framework (HCANA) is written in C++ and is an extension of the Hall A analyzer “podd” • Based on previous

Monte-Carlo Repository Modifications

11Eric Pooser 06/23/2017 Joint Hall A/C Summer Collaboration Meeting

mc_shms_singlemc_hms_single simc_gfortran

mc-single-arm

• Both single arm MC’s have been merged into a single repository• Input file drives which arm is simulated• Common infrastructure now exists for each arm which is also

consistent with the framework present in SIMC• This work has been completed!

🤔

Page 12: Hall-C Software Update...Hall C Analyzer Overview • Hall C ROOT Analysis framework (HCANA) is written in C++ and is an extension of the Hall A analyzer “podd” • Based on previous

Monte-Carlo Repository Modifications

12Eric Pooser 06/23/2017 Joint Hall A/C Summer Collaboration Meeting

mc_shms_singlemc_hms_single simc_gfortran

mc-single-arm

• The end goal is to merge the single arm MC into the SIMC framework

• This will allow one common framework in which single arm and coincidence MC’s can be performed

• Work is ongoing…

😎

Page 13: Hall-C Software Update...Hall C Analyzer Overview • Hall C ROOT Analysis framework (HCANA) is written in C++ and is an extension of the Hall A analyzer “podd” • Based on previous

Recent Updates to HCANA• Implementation of “Good”

ADC & TDC Variables• vector <Double_t>

• Low-level fiducial event selection methods implemented to select best hits in each detector channel

• Currently present in all detector classes aside from the drift chambers

• Hodoscopes are only non-tracking detectors with TDC’s

13Eric Pooser 06/23/2017 Joint Hall A/C Summer Collaboration Meeting

Page 14: Hall-C Software Update...Hall C Analyzer Overview • Hall C ROOT Analysis framework (HCANA) is written in C++ and is an extension of the Hall A analyzer “podd” • Based on previous

Recent Updates to HCANA• “Good” ADC variables are calculated

in the detector class CoarseProcess method

• FADC error flag cut• Removes events in which the

FADC250 FPGA fails• adcErrorFlag is recorded for each

detector for each event and is stored in the ROOT tree

• Pulse time cut• Removes events which are not

within the defined “prompt-peak” time window

14Eric Pooser 06/23/2017 Joint Hall A/C Summer Collaboration Meeting

Pedestal Subtracted Pulse Amplitude

FADC Raw Pulse Time

Page 15: Hall-C Software Update...Hall C Analyzer Overview • Hall C ROOT Analysis framework (HCANA) is written in C++ and is an extension of the Hall A analyzer “podd” • Based on previous

• “Raw” and “pedestal subtracted” ADC data are still constructed as TClonesArray objects• Sparsified scalar data

objects• Only written to the ROOT

tree if the “fDebugAdc” has been set to “true (1)”

• “Good” ADC & TDC data are constructed as unsparsified vector objects

15Eric Pooser 06/23/2017 Joint Hall A/C Summer Collaboration Meeting

Recent Updates to HCANA

Page 16: Hall-C Software Update...Hall C Analyzer Overview • Hall C ROOT Analysis framework (HCANA) is written in C++ and is an extension of the Hall A analyzer “podd” • Based on previous

• Vector data objects can be histogrammed via. the “eye” variable in DEF-files

• The “eye” variable can now have its index increased by an arbitrary integer amount

• 2D histogram of scalars produces single scalar histogram

• 2D histogram of vectors produces vector of histograms

• Adding prefix “s” to 2D histogram of vectors produces single scalar histogram

16Eric Pooser 06/23/2017 Joint Hall A/C Summer Collaboration Meeting

Modifications to THaOutputTH1F h1 P.hgcer.goodAdcPulseAmp[0]TH1F h2 P.hgcer.goodAdcPulseAmp[1]TH1F h3 P.hgcer.goodAdcPulseAmp[2]TH1F h4 P.hgcer.goodAdcPulseAmp[3]

TH2F h1 [I+1] P.hgcer.npeTH2F h2 [I+1] P.hgcer.goodAdcPed TH2F h3 [I+1] P.hgcer.goodAdcPulseInt

TH2F h1 P.hgcer.adcX P.hgcer.adcYTH2F h2 P.hgcer.adcX P.hgcer.adcZTH2F h3 P.hgcer.adcY P.hgcer.adcZ

TH2F h1 P.hgcer.goodAdcX P.hgcer.goodAdcYTH2F h2 P.hgcer.goodAdcX P.hgcer.goodAdcZTH2F h3 P.hgcer.goodAdcY P.hgcer.goodAdcZ

sTH2F h1 P.hgcer.goodAdcX P.hgcer.goodAdcYsTH2F h2 P.hgcer.goodAdcX P.hgcer.goodAdcZsTH2F h3 P.hgcer.goodAdcY P.hgcer.goodAdcZ

Page 17: Hall-C Software Update...Hall C Analyzer Overview • Hall C ROOT Analysis framework (HCANA) is written in C++ and is an extension of the Hall A analyzer “podd” • Based on previous

Updates to Aerogel & Cherenkov Classes• Track matching has been

implemented in both aerogel and Cherenkov detector classes ➛ FineProcess

• Tracks are projected from the focal plane to the fiducial area defined by the detector geometry• Aerogel ➛ Diffusion Box• Cherenkov ➛ Mirror Planes

17Eric Pooser 06/23/2017 Joint Hall A/C Summer Collaboration Meeting

x

y z

1 243

(xc, yc, xc’, yc’)(xh, yh, xh’, yh’)

Page 18: Hall-C Software Update...Hall C Analyzer Overview • Hall C ROOT Analysis framework (HCANA) is written in C++ and is an extension of the Hall A analyzer “podd” • Based on previous

Updates to Aerogel & Cherenkov Classes• If the tracks intersect the fiducial area then

the tracks are considered to be “matched” if the track passes 𝞆2/ndf, β, E/p cuts• Configurable in PARAM file• vector<Int_t> numTracksMatched

• Cherenkov• If the track is matched to a mirror AND

the respective PMT has an ADC hit then the track is considered to have “fired”

• Aerogel• If the track is matched to the diffusion

box AND the NPE sum is above a defined threshold then the track is considered to have “fired”

• vector<Int_t> numTracksFired

18Eric Pooser 06/23/2017 Joint Hall A/C Summer Collaboration Meeting

Page 19: Hall-C Software Update...Hall C Analyzer Overview • Hall C ROOT Analysis framework (HCANA) is written in C++ and is an extension of the Hall A analyzer “podd” • Based on previous

• Occupancies (raw and “good”) ➛ vector <Int_t>• Multiplicities (raw and “good”) ➛ scalar

19Eric Pooser 06/23/2017 Joint Hall A/C Summer Collaboration Meeting

Recent Updates to HCANA

Page 20: Hall-C Software Update...Hall C Analyzer Overview • Hall C ROOT Analysis framework (HCANA) is written in C++ and is an extension of the Hall A analyzer “podd” • Based on previous

Updates to Drift Chamber Class (THcDC)

• Historically, t0 offsets were calculated per plane

• Now, t0 offsets are calculated wire-by-wire• Per-plane calculations and

corrections remain available• Efficiencies are now available

for individual wire’s• Utilizes the golden track

information

20Eric Pooser 06/23/2017 Joint Hall A/C Summer Collaboration Meeting

Drift Distance (cm)0.1− 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7

m

µN

umbe

r of E

ntrie

s / 2

00

0

2000

4000

6000

8000

10000

12000

SHMS Drift Chamber 2 Drift Distance (cm)Planes

X-PlaneX'-PlaneU-PlaneU'-PlaneV-PlaneV'-Plane

/ ndf 2χ 136.4 / 11Constant 36.9± 5843 Mean 0.000159± 0.000307 Sigma 0.00015± 0.03105

Residuals (cm)0.5− 0.4− 0.3− 0.2− 0.1− 0 0.1 0.2 0.3 0.4 0.5

Num

ber o

f Ent

ries

/ 100

0

1000

2000

3000

4000

5000

6000 / ndf 2χ 136.4 / 11Constant 36.9± 5843 Mean 0.000159± 0.000307 Sigma 0.00015± 0.03105

SHMS Drift Chamber 2, X-Plane Residuals

Wire Number10 20 30 40 50 60 70

Drif

t Tim

e (n

s) 1

ns/

bin

50−

0

50

100

150

200

250

300

0

2

4

6

8

10

12

14

16

18

SHMS Drift Chamber 2, Plane X: Drift Time vs. Wire Number

σ ≈ 300 µm

Page 21: Hall-C Software Update...Hall C Analyzer Overview • Hall C ROOT Analysis framework (HCANA) is written in C++ and is an extension of the Hall A analyzer “podd” • Based on previous

Announcements• Hall A/C software meetings held bi-weekly at 11 am

in L201: Hall C 12 GeV Software Wiki• Mailing list: [email protected]• Input is needed from scheduled experiments

regarding what they require from the analyzer• Laundry list of tasks that need to be completed prior

to the upcoming Fall run• Software Task List for Summer 2017• Great opportunity for students to become familiar

with HCANA and Hall-C Replay• Ambitious developers encouraged to contribute

21Eric Pooser 01/20/17 Hall C Winter Collaboration Meeting

Page 22: Hall-C Software Update...Hall C Analyzer Overview • Hall C ROOT Analysis framework (HCANA) is written in C++ and is an extension of the Hall A analyzer “podd” • Based on previous

Hall A/C Software Analysis Workshop• Hall A/C software analysis workshop is being held Monday and

Tuesday (June 26-27) of next week• Main page, Wiki page

• Broadcasted and recorded via BlueJeans: Meeting link• Provide a setting in which users will have an opportunity to learn

the details of the Hall A & C Analyzers• Talks, tutorials, and hands-on sessions aimed to familiarize users

with doing physics analyses with Jefferson Lab experimental data• Participants are required to bring their own laptop to the

workshop to use a virtual machine with the Hall A/C software• Virtual Box version 5.1.22• CentOS 7 VB: /group/halla/analysis/ole/CentOS7_VM.tar.xz• Requires ~15 GB of free disk space

06/23/201722Eric Pooser Joint Hall A/C Summer Collaboration Meeting

Page 23: Hall-C Software Update...Hall C Analyzer Overview • Hall C ROOT Analysis framework (HCANA) is written in C++ and is an extension of the Hall A analyzer “podd” • Based on previous

Backup Slides

23Eric Pooser 06/23/2017 Joint Hall A/C Summer Collaboration Meeting