Coder Social home page Coder Social logo

martinamalberti / h4analysis Goto Github PK

View Code? Open in Web Editor NEW

This project forked from simonepigazzini/h4analysis

0.0 1.0 0.0 2.37 MB

Package to analyze data acquired with H4DAQ

Makefile 0.69% C++ 94.65% Objective-C 0.03% Python 4.01% C 0.09% Shell 0.53%

h4analysis's Introduction

H4Analysis

  • This repository aims to provide a fast reconstruction of data acquired with the H4DAQ mainly with the CAEN V1742 Digitizer
  • The main program is the H4Reco ntuples producer which can be easily configured through the input cfg file (examples in cfg/).

Install and run

git clone --recursive https://github.com/abenagli/H4Analysis.git

cd H4Analysis

git checkout MTDTB_T10_May2018

source scripts/setup.sh

make; make exe

./bin/H4Reco.exe cfg/MTDTB_T10_May2018/MTDTB_T10_May2018_conf1.cfg 10944

The cfg file

  • Comment lines start with a ‘#’ followed by a space
  • blocks are defined within <block>...</block>
  • each key (line inside a block) can take an unlimited number of options
  • The importCfg key allows one to express an unlimited number of other cfg files that are read sequentially before the current one so that blocks/keys that are present in more that one file are overwritten.

The H4Reco dumper

  • The main executable.
  • The idea is to run multiple plugins, each dedicated to a specific task, i.e. reconstructing hodoscope hits, digitizer waveform.
  • H4Reco takes two arguments: a cfg file and the run number that overrides the one specified in the cfg file
  • Each Plugin has three methods that are called by the main program:
    • Begin(): is called once after the plugin instance is created and before the first event is processed. Takes two arguments: a CfgManeger with all the option loaded in H4Reco and a index dedicated to synchronize the plunging trees with the main one.
    • ProcessEvent(..): called once for each entry of the H4Tree under analysis. It takes three arguments: the CfgManager with all the options, a reference to the analyzed H4Tree and the list of plugins loaded in the H4Reco plugin sequence. The last arguments allow to share data between plugins through the plugin methods RegisterSharedData and GetSharedData.
    • End(): called at the end of the H4Reco processing, after all the events have been processed.
  • A single output file is produced, it contains the main tree “h4” to which all the trees registered by the plugins as “permanent” are linked (using TTree::AddFriend()).
  • More information can be found in plugin/Readme.org

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.