Hall-C Analyzer & Hall-C Replay

Similar documents
Hall C Analyzer. Hall C Winter Collaboration Meeting. Eric Pooser 01/20/2017

Hall C 12 GeV Analyzer Update. Stephen Wood

CLAS12 DAQ & Trigger Status and Timeline. Sergey Boyarinov Oct 3, 2017

Introduction to the Hall A Analyzer Framework

HMS Calorimeter in HCANA Recent progress

CLAS12 Offline Software Tools. G.Gavalian (Jlab) CLAS Collaboration Meeting (June 15, 2016)

CLAS12 DAQ, Trigger and Online Computing Requirements. Sergey Boyarinov Sep 25, 2017

Setting Up a C++ Analyzer Replay

FT Cal and FT Hodo DAQ and Trigger

R3BRoot Framework. D. Kresan GSI, Darmstadt. First R3BRoot Development Workshop July 28 30, 2015 GSI, Darmstadt

HEP data analysis using ROOT

Performance of the GlueX Detector Systems

Forward Time-of-Flight Detector Efficiency for CLAS12

Analysis of Σ 0 baryon, or other particles, or detector outputs from the grid data at ALICE

CODA Online Data Formats

Super BigBite Spectrometer: simulation and software update

BPM Calibration for E05-110

Event reconstruction in STAR

Klaus Dehmelt EIC Detector R&D Weekly Meeting November 28, 2011 GEM SIMULATION FRAMEWORK

Large Installation Experiment Geant4 Simulations: SBS, SoLID, Moller

Preparation for the test-beam and status of the ToF detector construction

Analysis Software Update

About SJTUG. SJTU *nix User Group SJTU Joyful Techie User Group

Anode Electronics Crosstalk on the ME 234/2 Chamber

Version Control Systems

CLAS 12 Reconstruction Software

TreeSearch Track Reconstruction for GEMs

Lab 01 How to Survive & Introduction to Git. Web Programming DataLab, CS, NTHU

Tizen/Artik IoT Practice Part 4 Open Source Development

Revision Control. An Introduction Using Git 1/15

Hall D and IT. at Internal Review of IT in the 12 GeV Era. Mark M. Ito. May 20, Hall D. Hall D and IT. M. Ito. Introduction.

DATA DRIVEN PROCESSING. H. Cunitz, Y. Hsiung, B. Knapp, W. Sippach Columbia University, New York, NY 10027

Performance quality monitoring system for the Daya Bay reactor neutrino experiment

699DR git/github Tutorial

Git. SSE2034: System Software Experiment 3, Fall 2018, Jinkyu Jeong

Pixie-500 Express Manual Extension Pulse Shape Analysis Functions

Simulation and data reconstruction framework slic & lcsim. Norman Graf, Jeremy McCormick SLAC HPS Collaboration Meeting May 27, 2011

INDEX. Digitizer Software. CAENComm library CAENDigitizer library CAENDPP library WaveDump. CAEN VME Demos WaveCatcher

Version control system (VCS)

TPC digitization and track reconstruction: efficiency dependence on noise

TORCH: A large-area detector for precision time-of-flight measurements at LHCb

Git for Subversion users

Github/Git Primer. Tyler Hague

Kondo GNANVO Florida Institute of Technology, Melbourne FL

Common Tools. G.Gavalian (JLAB)

EicRoot for tracking R&D studies

TPC Detector Response Simulation and Track Reconstruction

CS 520: VCS and Git. Intermediate Topics Ben Kushigian

TPC Detector Response Simulation and Track Reconstruction

Streaming Readout, the JLab perspective. Graham Heyes Data Acquisition Support Group Jefferson Lab

GNAM for MDT and RPC commissioning

A L A TEX-oriented intro to Git

Fast pattern recognition with the ATLAS L1Track trigger for the HL-LHC

Using the FADC250 Module (V1C - 5/5/14)

DEAD-SIMPLE VERSION CONTROL FOR YOUR TEAM GIT WITH MATTHEW REIDSMA GRAND VALLEY STATE UNIVERSITY

Wiener-DAQ program for data acquisition with Wiener CC-USB CAMAC Controller

Lecture 2: Data in Linguistics, Git/GitHub, Jupyter Notebook. LING 1340/2340: Data Science for Linguists Na-Rae Han

Using GitHub and SourceTree to work with DITA TC repositories

Work in Tbilisi. David Mchedlishvili (SMART EDM_lab of TSU) GGSWBS , Tbilisi. Shota Rustaveli National Science Foundation

Git. Charles J. Geyer School of Statistics University of Minnesota. Stat 8054 Lecture Notes

The DAQ/Trigger Hardware Systems for Jefferson Lab's 12GeV Experimental Programs

Data Base and Computing Resources Management

TPC Detector Response Simulation and Track Reconstruction

Deeply Virtual Compton Scattering at Jefferson Lab

INTRODUCTION TUTORIAL

TUNL SpecTcl User Guide

Lab Objective. Lab Assignment. Downloads and Installation

Managing Network Configurations with Git and GitLab

Submitting your Work using GIT

GIT. A free and open source distributed version control system. User Guide. January, Department of Computer Science and Engineering

CBC calibration Kirika Uchida. Electronics for 2S and PS-Pt modules meeting 15/04/2014 1

SBS simulation and software update. Hall A/C collaboration meeting Jefferson Lab, June 22-23, 2017

SoLID Software Framework

The GTPC Package: Tracking and Analysis Software for GEM TPCs

A BASIC UNDERSTANDING OF VERSION CONTROL

Simulations. What we need What is working What is not working. The roadmap to the perfect CLAS12 MC detector response

a handful of Git workflows for the agilist steven harman twitter: stevenharman

CS314 Software Engineering Configuration Management

Getting the files for the first time...2. Making Changes, Commiting them and Pull Requests:...5. Update your repository from the upstream master...

Git & Github Fundamental by Rajesh Kumar.

git Version: 2.0b Merge combines trees, and checks out the result Pull does a fetch, then a merge If you only can remember one command:

Version Control with Git ME 461 Fall 2018

Tools for the programming mid-semester projects

Time of CDF (II)

Using NCSL DAQ Software to Readout a LeCroy 4300B. Timothy Hoagland

POWERFUL APPLICATIONS USING PYTHON IN ENSIGHT. Aric Meyer CEI Japan Users Meeting

Version Control Systems (VCS)

Git. Presenter: Haotao (Eric) Lai Contact:

DEVNET Introduction to Git. Ashley Roach Principal Engineer Evangelist

Working in Teams CS 520 Theory and Practice of Software Engineering Fall 2018

HOW TO IMPLEMENT NEW ALGORITHMS IN VEGAS

CSE 391 Lecture 9. Version control with Git

G E T T I N G S TA R T E D W I T H G I T

ROOT Trips & Tricks. Ole Hansen. Jefferson Lab. Hall A & C Analysis Workshop June 26 27, 2017

Testing Q weak s Multiplexing Electronics

Git tutorial. Katie Osterried C2SM. October 22, 2015

(Cloud9) and to the Remote Repository (GitHub)

Introduction to Git and Github

2 Initialize a git repository on your machine, add a README file, commit and push

PAW: Physicist Analysis Workstation

Transcription:

Hall-C Analyzer & Hall-C Replay Jefferson Lab

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 2

Steps to Install HCANA 1. Download and install ROOT (> 5.32) 2. Setup ROOT environment source /path/to/rootbuild/bin/thisroot.(c)sh 3. Fork hcana repository (if you have not already done so) 4. Clone personal remote repository on local machine git clone https://github.com/username/hcana 5. cd into hcana directory and setup the environment source setup.(c)sh 6. Obtain the podd submodule which hcana points too git submodule init git submodule update 7. Create new branch and switch to it git checkout -b branch-name 8. Build HCANA scons -j4 "How-To" wiki ROOT Analyzer/Compiling Wiki ROOT Analyzer/Running Wiki 3

Hall-C Analyzer Overview Doxygen page documents HCANA source code 4

Work Flow of HCANA HCANA utilizes the Hall-A podd decoder to unpack raw EVIO data into THaEvData objects Each readout module (F250, 1190, ) has its own decoder class podd/hana_decode THcHitList utilizes the detector maps to associate the ROC, slot, & channel number with a specific detector THcHitList::DecodeToHitList(&THaEvData) THcDetectorMap builds an array (ftable) with one structure element per readout channel THcDetectorMap::Load(const char *fname) Each element holds the roc, slot, channel number and module type for a given channel In addition, the element holds the id number of the detector, the plane, the counter (or wire number), and the signal number (ADC/TDC, +/-) Raw EVIO Data THaEvData THcHitList Data 5

Work Flow of HCANA At initialization each detector class has its detector map populated with the list of readout channels belonging it ghcdetectormap->fillmap(fdetmap, idstring) In addition, a hit list is created to hold the raw hits for each respective detector THcHitList::InitHitList(fDetMap, rawhitclassname, maxhits) Detector classes then decode the THcHitList data into raw hit data associated with a specific detector s readout channel THcDetector::Decode(&THaEvData) Raw hit information is stored as TClonesArray objects which are accessible via THcAnalyzer adcpulseampraw, adcpulseamp, THaEvData THcHitList Raw Hit Data Raw Hit Data 6

Work Flow of HCANA Raw hit data is further processed into higher level hit data objects via fiducial ADC & TDC cuts THcDetector::CoarseProcess(&TClonesArray) goodadcped, goodadcpulseint, Hit data can then be further processed into higher level physics data THcDetector::FineProcess(&TClonesArray) Fiducial tracking cuts e.g. χ 2 /ndf, β, E/p Track matching, efficiencies, Raw, hit, & physics data is then processed by THcAnalyzer which makes the data available via ROOT histograms and TTrees Raw Hit Data Hit Data Physics Data 7

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 Interfaces with THcAnalyzer to process and obtain the data Raw, hit, & tracking data Physics data 8

Hall-C Replay Framework: DBASE Configuration Files RUN PARAM DBASE STD KINEM 9

Hall-C Replay Framework: PARAM Configuration Files RUN PARAM DBASE STD KINEM HMS SHMS PARAM GEN TRIG 10

Hall-C Replay Framework: MAPS Configuration Files RUN PARAM STD DBASE KINEM HMS SHMS GEN TRIG PARAM HMS SHMS CRATE MAPS 11

Hall-C Replay: DEF-files Configuration Files RUN PARAM STD KINEM HMS SHMS GEN TRIG DBASE PARAM HMS SHMS DETEC TRIG HMS SHMS CRATE DEF FILES MAPS THaOutput Analysis Output (DEF-files) Interfaces with THcAnalyzer to output user defined histograms and ROOT TTrees Variables are created in detector classes in the DefineVariables() method and can be written to the TTree output and histogrammed via DEF-files P.hodo.goodAdcPulseAmp Block variables write multiple variables to the TTree with a single call block P.gtr.* Histograms can be defined for specific variables with and without cuts (1, 2, & 3D supported) TH1F h1name 'Title; X-Title; Y-Title' var nbins xlow xhigh TH1F h1name 'Title; X-Title; Y-Title' var nbins xlow xhigh cut1&&cut2 cut3 DEF-files defining cuts create global cut objects for histograms and interactive analysis time_cut1 P.dc.1u1.time>0&&P.dc.1u1.time<250 12

Hall-C Replay Framework: Analysis Files Configuration Files Analysis Files RUN PARAM STD DBASE HMS SHMS DETEC DEF FILES HODO DC+CAL HMS KINEM HMS SHMS GEN TRIG PARAM TRIG HMS SHMS CRATE MAPS REPLAY SCRIPTS SHMS CER+DC STACK 13

Hall-C Replay Scripts: I/O 14

Hall-C Replay Scripts: PARAM 15

Hall-C Replay Scripts: MAPS 16

Hall-C Replay Scripts: Apparatus 17

Hall-C Replay Scripts: Detectors 18

Hall-C Replay Scripts: Golden Track 19

Hall-C Replay Scripts: Event Handler 20

Hall-C Replay Scripts: Crate Maps 21

Hall-C Replay Scripts: DEF-files 22

Hall-C Replay Scripts: Summary Files 23

Hall-C Replay Scripts: Report Files 24

Hall-C Replay: Results Configuration Files RUN PARAM STD KINEM HMS SHMS GEN TRIG DBASE PARAM HMS SHMS DETEC TRIG HMS SHMS CRATE DEF FILES MAPS Analysis Files HODO DC+CAL HMS REPLAY SCRIPTS SHMS CER+DC AERO Results ROOT TREE DEF-FILE HISTOS ONLINE GUI 25

Hall-C Replay: ROOT TTree 26

Hall-C Replay: DEF-Files Histograms 27

Hall-C Replay: Interactive Demonstration Goal: Acquire detector data from SHMS KPP run 484 from the hodoscope, drift chambers, heavy gas Cherenkov, trigger apparatus, and the golden track 1. Produce a TTree with all possible data from the three detector systems, trigger apparatus, and golden track 2. Produce 1D histograms of the for the hodoscope S1X+ raw, pedestal subtracted pulse amplitude, and pulse time variables 3. Produce a 1D histogram of the S1X+ pedestal subtracted pulse amplitude with a cut on the number of reconstructed tracks in the chambers = 1 4. Produce a 2D histogram of the raw TDC time spectrum per wire for the 1X1 plane 5. Produce a vector of histograms, indexed by the respective PMT number, for the HGC good pulse time versus the good pulse amplitude 6. Produce a scalar histogram for the HGC good pulse time versus the good pulse amplitude for all PMTs 7. Produce a 1D histogram of the good pulse integral for HGC PMT 3 8. Produce a 2D histogram of the good pulse integral versus PMT for the HGC with a cut that requires that the good pulse integral is > 0 28

Hall-C Replay: Exercises 1. Add the calorimeter & noble gas Cherenkov detectors to the analyzer script 2. Add the 2 detector block variables to the TTree 3. Produce a 1D histogram of the raw and good NGC multiplicities and occupancies for the 4 PMTs 4. Produce a 1D histogram of beta for the golden track with a cut on the golden track being OK 5. Produce a 2D histogram of the track X focal plane vs. Y focal plane quantities 6. Produce a 2D histogram of the normalized track energy versus δ 29

Backup Slides 30

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 31

Hall C Online GUI: Making Plots Great Again! 32

Hall C Online GUI: Making Plots Great Again! 33

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 nontracking detectors with TDC s 34

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 Pedestal Subtracted Pulse Amplitude FADC Raw Pulse Time 35

Recent Updates to HCANA 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 36

Modifications to THaOutput 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 TH1F 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.npe TH2F h2 [I+1] P.hgcer.goodAdcPed TH2F h3 [I+1] P.hgcer.goodAdcPulseInt TH2F h1 P.hgcer.adcX P.hgcer.adcY TH2F h2 P.hgcer.adcX P.hgcer.adcZ TH2F h3 P.hgcer.adcY P.hgcer.adcZ TH2F h1 P.hgcer.goodAdcX P.hgcer.goodAdcY TH2F h2 P.hgcer.goodAdcX P.hgcer.goodAdcZ TH2F h3 P.hgcer.goodAdcY P.hgcer.goodAdcZ sth2f h1 P.hgcer.goodAdcX P.hgcer.goodAdcY sth2f h2 P.hgcer.goodAdcX P.hgcer.goodAdcZ sth2f h3 P.hgcer.goodAdcY P.hgcer.goodAdcZ 37

Updates to Aerogel & Cherenkov Classes Track matching has been implemented in both aerogel and Cherenkov detector y classes FineProcess Tracks are projected from the focal plane to the fiducial area defined by the detector geometry Aerogel Diffusion Box Cherenkov Mirror Planes x z (xh, yh, xh, yh ) 3 4 1 2 (xc, yc, xc, yc ) 38

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 39

Recent Updates to HCANA Occupancies (raw and good ) vector <Int_t> Multiplicities (raw and good ) scalar 40

41