eventAnalysis  7.0-49-g0ac7482
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
History for the oaAnalysis Package

Version v1r1

Freeze information:

  • Freeze Date: Wed Sep 12 15:43:47 2007
  • Freeze User: yoshiu
  • Freeze Host: localhost.localdomain

The first frozen release of oaAnalysis.

Consists of a base class for all the modules (TAnalysisModuleBase), some basic modules (TBasicHeaderModule, TTruthVerticesModule, TTruthTrajectoriesModule, TTrackerECALReconModule), and a steering class (TAnalysisControl), and support files.

Packaged by Yoshi Uchida, based on original code from Christian Hansen, Ian Taylor, and Ben Still and others.

Version v1r3

Freeze information:

  • Freeze Date: Sat Sep 15 03:39:12 2007
  • Freeze User: yoshiu
  • Freeze Host: localhost.localdomain

Improvement to TTruthTrajectoriesModule. Change to put in a default minimum length cutoff for trajectories, of 20mm. All primaries get saved regardless. This reduces the file size by a factor of several, typically. This will be improved with further use of oaAnalysis

Version v1r5

Freeze information:

  • Freeze Date: Fri Oct 26 14:21:07 2007
  • Freeze User: yoshiu
  • Freeze Host: localhost.localdomain

Freeze the current version of oaAnalysis in preparation to use oaEvent v5. This new frozen version (v1r5) has only very minor changes from the previous freeze. The changes between this and the previous frozen version are very minor.

Version v2r1

Freeze information:

  • Freeze Date: Thu Dec 6 17:06:51 2007
  • Freeze User: yoshiu
  • Freeze Host: localhost.localdomain

Put oaAnalysis into the ND:: namespace, and adapted to other packages' move into ND:: Removed TP0DECALReconModuleA Changed some spelling Other minor fixes

New application file oaAnalysis.cxx and executable OAANALYSIS.EXE, which are compatible with the standardised interface requested by the Steering Task Force

Version v2r3

Freeze information:

  • Freeze Date: Fri Feb 1 20:20:29 2008
  • Freeze User: yoshiu
  • Freeze Host: wa07.hep.ph.ic.ac.uk

A provisional release, in preparation for a more definitive release to happen presently.

Tidied up the code in general, removed classes made redundant by recent additions, and revised the documentation to remove out of date sections.

The output is not ready for full scrutiny yet, as improvements are on their way, but this release should help the Steering group to test running oaAnalysis and storing the output files.

Version v2r5

Freeze information:

  • Freeze Date: Tue Feb 12 18:35:02 2008
  • Freeze User: yoshiu
  • Freeze Host: wa07.hep.ph.ic.ac.uk

Lots of changes, to both the oaAnalysis file creation side and the readout macros.

oaAnalysis Modules: now are saved in directories with names like ReconDir/Modules/TrackerMod and are expected to save any utility parameters in themselves as persistent data members. TTrackerReconModule now saves the boundaries of the FGDs inside itself, and then these can be accessed later on. A special member function ProcessFirstEvent is called, when the module knows about the geometry and is handed the first event, which is a good time to fill itself with information about the run and events.

Readout macros: A Python macro runAnalysis.py is included, which does the dirty work of setting things up for an analysis run. It calls an example python module, myAnalysis.py (which can be changed on the command line), which chooses the oaAnalysis modules to load and actually performs the analysis.

This is all performed without referring to any external libraries. Everything needed to read the oaAnalysis files is contained within the macros directory, and doesn't need to be setup or compiled.

macros/AnalysisTools contains TTrackerAnalysisUtils, which is an example of analysis tools that are expected to be shared across analyses. It is compiled by ROOT using ACLIC, and can be called from python or from C++.

The tracker CCQE analysis is included in C++ form, as an example, although this need to be cleaned up to use the same tools library as the python version.

Version v2r7

Freeze information:

  • Freeze Date: Thu Feb 14 15:58:44 2008
  • Freeze User: yoshiu
  • Freeze Host: wa07.hep.ph.ic.ac.uk

Final freeze of oaAnalysis before the Valentine's Day User Release of the software (codename "handover").

Only minor fixes from the previous version, to remove some rough edges, of which quite a few still remain.

Version v2r9

Freeze information:

  • Freeze Date: Fri Apr 11 15:47:03 2008
  • Freeze User: yoshiu
  • Freeze Host: wa07.hep.ph.ic.ac.uk

Minor changes to the P0D recon module. Complete revamp of the TTrackerECALReconModule, put in by Ben Still. This is now adapted to use the latest ecalRecon output. It may not be perfect yet but output is usable. More modifications to the readout scripts are on their way, but have not been put in for this freeze.

Version v2r11

Freeze information:

  • Freeze Date: Fri Apr 18 14:04:16 2008
  • Freeze User: mccauley
  • Freeze Host: gateway.ph.liv.ac.uk

Added several utilities for reading out the oaAnalysis files. These include neutrino generator utilities to help interpret information related to neutrino generators. A python script ccqeAnalysis.py has been added, which is run with $ ./runAnalyses.py -a ccqeAnalysis oaanalsisfile.root which emulates the CCQE analysis by Thomas Lindner et al. This is not validated yet and is included as an example.

The readout macros are usable for actual analyses, although more code clean-up and addition of utilities is necessary.

N. McCauley, Freezing for Y Uchida, who's having problems with the scripts.

Version v2r13

Freeze information:

  • Freeze Date: Wed Apr 30 12:24:13 2008
  • Freeze User: mccauley
  • Freeze Host: gateway.ph.liv.ac.uk

This is mainly a bugfix release for TTrackerECALReconModule.cxx The bug was causing a crash in RunOAAnalysis.exe

Another change is that the requirements file now makes doxygen look for *.py files for make documentation

This is accompanied by a configuration change for Doxygen in nd280Policy which makes it search for *.py files too.

N.McCauley for Y.Uchida who is having problems with the freeze script.

Version v2r15

Freeze information:

  • Freeze Date: Tue Jun 3 14:46:14 2008
  • Freeze User: mccauley
  • Freeze Host: gateway.ph.liv.ac.uk

New userAnalysisBase class from which user analyses can be derived. Updates to runAnalysis.py script to use userAnalysisBase.py. These contain various features that are commonly used by analyses, and make it very easy to put an analysis together. Example analysis script ccqeAnalysis.py.

New configuration option for TTruthTrajectory to turn off / on the saving of all trajectories, where the default is to save only those which intersect the P0D, Tracker, or ECAL. The file size with TTruthTrajectory is now only 20% larger than with it disabled, rather than a factor 10 larger.

TTruthTrajectory is now enabled by default.

Fixes to the NEUT, GENIE and NUANCE analysis utilities, to be properly derive dfrom TVNeutrinoGeneratorAnalysisUtils

Improved handling of oaAnalysis output module configuration, including a Configure function in the base class, which is called from TAnalysisLoop (and hence RunOAAnalysis.exe) using the command line syntax -O TTruthTrajectory=SaveAll and similar

Rewrite of documentation, including mainpage to conform to Documentation Task Force template

N. McCauley Freezing for Y. Uchida.

Version v2r17

Freeze information:

  • Freeze Date: Wed Jun 18 15:24:37 2008
  • Freeze User: mccauley
  • Freeze Host: gateway.ph.liv.ac.uk

Incorporated run-level info transfer from the analysis output modules to the read-out utilities via the oaAnalysis files. Previously, TTrackerAnalysisUtils had some geometry-related numbers hard-coded in, such as the FGD boundary positions. Now, it loads in the TTrackerReconModule saved in //ReconDir/Modules/TrackerMod in the input oaAnalysis file, and keeps it in memory. TTrackerReconModule has some data members for these numbers saved, so TTrackerAnalysisUtils can access them. The constructor for TTrackerAnalysisUtils has been updated to look for the module in any of the input files and to read it in.

This is the recommended way for important numbers which don't change event-by-event (geometry boundaries, reconstruction parameters) to be passed to the analysis read-out macros.

Removed AllTrajectories from TTruthTrajectoriesModule, although a version which should work once we upgrade to ROOT 5.19/04 is left as commented out code. Also removed the obsolete comment saying that TTruthTrajectoriesModule output is too large. It isn't any more because we only save trajectories intersecting the P0D, Tracker, or ECAL since the last release.

Added the header file macros/AnalysisTools/vectorTLorentzVector_Dict.h, which allows std::vector<TLorentzVector*> objects in the TTree to be read out from python straightforwardly (as they ought to be)

Other minor improvements, and modifications of the sample analysis scripts runAnalysis.py and ccqeAnalysis.py to accommodate above changes

N. McCauley freezing for Y. Uchida.

Version v2r19

Freeze information:

  • Freeze Date: Tue Jul 1 09:36:21 2008
  • Freeze User: mccauley
  • Freeze Host: gateway.ph.liv.ac.uk

A bug fix release to oaAnalysis For use in the new nd280 release. N. McCauley for Y. Uchida We need a fourth line to keep the script happy.

Version v2r21

Freeze information:

  • Freeze Date: Wed Jul 23 09:26:28 2008
  • Freeze User: mccauley
  • Freeze Host: gateway.ph.liv.ac.uk

Major additions to oaAnalysis, mostly by, or inspired by, Christian Hansen.

Added cheatingAnalysis.py, to emulate the truth-based CCQE analysis Christian did a couple of years back.

Addition of extra output variables in TTruthTrajectoriesModule, which allow the cheatingAnalysis to see which detectors any trajectory passed through.

macros/AnalysisTools/TCheatingAnalysisUtils*, to provide tools to assist cheatingAnalysis.py when reading out analysis files.

Improvements to the analysis macro base class, userAnalysisBase, to print out efficiency / purity plots automatically by default.

Minor bugfixes.

Documentation fixes and improvements.

N. McCauley, freezing for Y. Uchida.

Version v2r23

Freeze information:

  • Freeze Date: Mon Aug 25 09:38:00 2008
  • Freeze User: mccauley
  • Freeze Host: gateway.ph.liv.ac.uk

Christian added a TEMPORARY SOLUTION to get macros/doCcqeAnalysis.C to work again, but with the (ideally) deprecated tracker_utilities.C instead of macros/AnalysisTools/TTrackerAnalysisUtils.cxx which doesn't work with it for an unknown technical reason.

TFGDIsoReconTOATrackModule added by Melissa, which summarises the output from fgdRecon of tracks that aren't connected to TPC tracks. This operates on the ToaTrack version of fgdRecon.

TFGDIsoReconTOATrackModule is the first module to save simple diagnostic histograms within itself, which can be browsed to check that things were filled correctly, as suggested by Melissa. Similar histograms should also be put into the other modules.

Minor change to TAnalysisLoop to save the modules in their own directories, instead of directly inside "/Modules". TBrowser seems to have a problem otherwise. Other minor changes to accommodate this.

Cleanup of module data member names, to make them all consistent. This is explained in the documentation.

Improvement to runAnalysis.py, which now always writes a file "oaAnalysisReadInit.C", which can be executed in ROOT to manually initialise it for browsing oaAnalysis files.

N. McCauley Freezing for Y. Uchida

Version v2r25

Freeze information:

  • Freeze Date: Fri Oct 31 14:37:02 2008
  • Freeze User: yoshiu
  • Freeze Host: heppc64.hep.ph.ic.ac.uk

A freeze for the last version to support event files with TOATrack output, which depends on oaEvent v5*.

oaAnalysis v3* will move fully to the new TRecon* classes, although it would be nice to resurrect TOATrack just for backwards compatibility purposes.

Some of the macro/ code needs cleaning up, but that will be pursued in the v3* releases, where they will most likely be used. Bugs that are found there should be back-ported to this release as patches.

Version v3r1

Freeze information:

  • Freeze Date: Wed Nov 12 14:37:05 2008
  • Freeze User: yoshiu
  • Freeze Host: heppc64.hep.ph.ic.ac.uk

A snapshot of the current developmental oaAnalysis, which is undergoing some changes. Various analysis macros have been added, and for now, the TOATrack-dependent modules have been disabled, although they will probably be re-enabled soon.

A new module GlobalReconModule has been added.

oaAnalysis will undergo clean-up in the near future.

Version v3r3

Freeze information:

  • Freeze Date: Sun Feb 1 17:53:04 2009
  • Freeze User: yoshiu
  • Freeze Host: heppc64.hep.ph.ic.ac.uk

Addition of new TP0DECALReconModule, TGlobalReconModule, TTrackerReconModule By, Ben Still, Anselmo Cervera, Melody Ravonel respectively, with help from others. Thanks Anselmo and Thomas Lindner for testing and bug fixes.

Will go into a consolidation phase after this.

Version v3r5

Freeze information:

  • Freeze Date: Mon Feb 2 17:45:39 2009
  • Freeze User: yoshiu
  • Freeze Host: heppc64.hep.ph.ic.ac.uk

New code in macros/, committed by Melody, which represent the current muon CC analysis. Also forgot to mention in the previous freeze history (for v3r3) that there are macros/ contributions Melissa (electron CC), Anselmo (cheating CC), and some bugfixes by Thomas.

Version v3r7

Freeze information:

  • Freeze Date: Fri May 29 17:52:05 2009
  • Freeze User: yoshiu
  • Freeze Host: heppc64.hep.ph.ic.ac.uk

Snapshot freeze for May 2009 nd280 software release.

Uses oaEvent v6r* Had to remove some code in macros/AnalysisTools, because they were not complete (missing variable declarations etc)

Adapted to TVInputFile in oaEvent

Strictly enforcing the disabling of modules when the input algorithmresults that they need are not in place.

Big improvements to TTrackerECALReconModule by Tom Maryon, where showers and clusters are treated equally and their separation made into an analysis macro-level decision. The old TTrackerECALReconModule has been renamed TTrackerECALReconModule_v1

Improvements to TTrackerReconModule too

Version v3r9

Freeze information:

  • Freeze Date: Tue Jun 16 10:29:41 2009
  • Freeze User: yoshiu
  • Freeze Host: lx06.hep.ph.ic.ac.uk

Snapshot freeze for MC generation release, June 2009.

Major changes to the TP0DECALReconModule and the TTrackerReconModule and bugfixes to TTruthTrajectoriesModule and the TTruthVerticesModule

Really good changes, and bugfixes, these.... Really good.

To reiterate, major changes to the TP0DECALReconModule and the TTrackerReconModule and bugfixes to TTruthTrajectoriesModule and the TTruthVerticesModule

Version v3r11

Freeze information:

  • Freeze Date: Tue Jun 16 11:54:43 2009
  • Freeze User: yoshiu
  • Freeze Host: lx06.hep.ph.ic.ac.uk

Snapshot re-freeze for MC generation release, June 2009. Re-freeze due to Yoshi messing up the freeze for v3r9. Differences compared to v3r7 are:

Major changes to the TP0DECALReconModule and the TTrackerReconModule and bugfixes to TTruthTrajectoriesModule and the TTruthVerticesModule

Version v3r13

Freeze information:

  • Freeze Date: Wed Nov 11 18:21:03 2009
  • Freeze User: jdobson
  • Freeze Host: lx06.hep.ph.ic.ac.uk

Snapshot freeze for MC generation release, Nov 2009.

Main changes to modules: Have added TGRooTrackerVerticesModule that copies over the generator pass-through info into a GRooTracker event object. This means now have access to full generator level information at oaAnalysis stage. Note that at present this is only implemented for MC that uses GENIE as input, expect to implement a similar module for NEUT in near future.

Changes to the macros: Many small changes to analysis macros have been made. Also a number of new analysis macros have been added.

Generally some minor bug fixes.

Version v4r1

Freeze information:

  • Freeze Date: Tue Nov 17 16:13:05 2009
  • Freeze User: jdobson
  • Freeze Host: lx06.hep.ph.ic.ac.uk

Freeze of oaAnalysis so that it can be included in the upcoming nd280 release. The major version number has now been incremented by one.

Main changes since last freeze:

  • No longer requires oaEvent v6*.
  • New low level info module added. At present this is implemented for the ecal but is designed so that can add classes for other subdetectors as well.

Version v4r3

Freeze information:

  • Freeze Date: Mon Dec 21 14:44:32 2009
  • Freeze User: jdobson
  • Freeze Host: lx06.hep.ph.ic.ac.uk

This freeze is for the upcoming software release.

The main changes are to the AnalysisTools so that it is now possible to compile and generate libraries using the runAnalysis.py script with the -c option. This functionality was broken in previous versions.

This means that the python analysis scripts, such as ccqeAnalysis.py, should work. Also the root macro scripts still work.

Version v4r5

Freeze information:

  • Freeze Date: Mon Feb 1 12:40:40 2010
  • Freeze User: jdobson
  • Freeze Host: lx06.hep.ph.ic.ac.uk

Main changes in this freeze are:

  • GENIE and NEUT pass-through module overhaul. Changes to class definitions. Also the module will nowlook in the nd280 file for the pass-through information and if it cannot find it there search the current working directory (or a user defined one) for the origninal rooTracker filesand recover from there. Added extra checks such that the event code and event vertex match for the original G4Primary vertex and the pass-through info vertex.
    - Modifications to  TTrackerECALReconModule to make it work with latest version
    
    of ecalRecon.
    - Dealt with problem of dereferencing NULL THandles when there are no G4Primary
    
    vertices in an event.
    - New versions of tracker reconstruction utilities.
    
    - New verions of global reconstruction module and utilities. This has also
    
    introduced a dependencey on oaRecPack.
    - Modified the way in which modules and their trees are saved to avoid writing
    
    of left over memory resident trees.

Version v4r7

Freeze information:

  • Freeze Date: Fri Feb 5 07:01:55 2010
  • Freeze User: jdobson
  • Freeze Host: lx06.hep.ph.ic.ac.uk

Removed a memory leak introduced in the last freeze. Involved reverting to original way in which modules were saved. This is all that has changed.

Version v4r9

Freeze information:

  • Freeze Date: Thu Mar 4 15:55:04 2010
  • Freeze User: jdobson
  • Freeze Host: lx06.hep.ph.ic.ac.uk

Freeze for rolling release of nd280 software. The main changes included in this freeze are:

  • Better separation of data/mc in tracker modules and analysis macros.
  • Many imporovements to the GlobalReconModule making it compatible with latest version of oaEvent. Currently this has introduced a dependency on oaRecPack.
  • Made output less verbose.
  • Fixed a number of issues in getting all the AnalysisTools to compile using ACLiC.

Version v4r11

Freeze information:

  • Freeze Date: Fri Mar 26 16:27:37 2010
  • Freeze User: jdobson
  • Freeze Host: lx06.hep.ph.ic.ac.uk

Freeze in preparation for upcoming nd280 release. Main changes are:

  • Example analysis scripts being added in the macros directory showing how to run macros for both python and ACLiC.
  • An updated TP0DReconModule.
  • Fix bug that was stopping modules being disabled from the command line.

Version v4r13

Freeze information:

  • Freeze Date: Tue Apr 6 16:20:08 2010
  • Freeze User: itaylor
  • Freeze Host: neut11.triumf.ca

A minor freeze to include changes to the P0DReconModule. Also a couple of fixes to make AnalysisTools compile.

Frozen by Ian Taylor, because Jim was having local computing problems

Version v4r15

Freeze information:

  • Freeze Date: Tue May 4 08:47:00 2010
  • Freeze User: jdobson
  • Freeze Host: lx06.hep.ph.ic.ac.uk

Incremental freeze of oaAnalysis for use in the middle-pass processing which includes bug fixes to the P0DRecon module and also preliminary fixes to the trackerRecon module which was broken in the last version.

Version v4r17

Freeze information:

  • Freeze Date: Fri Jun 18 20:53:41 2010
  • Freeze User: jdobson
  • Freeze Host: lx06.hep.ph.ic.ac.uk

Incremental freeze in preparation for the upcoming MCP1 release of the software. Features added for this freeze include:

  • New TSmrdReconModule.
  • New TFgdOnlyModule (enabled by default now).
  • Improvements to the TECALTestbeamModule.

There have also been lots of fixes to the TTrackerReconModule and a number of small bug fixes to quite a few of the packages.

This freeze will act as the version for which testing will be done before the final MCP1 release. If any bugs are found a further freeze will be made.

Version v4r19

Freeze information:

  • Freeze Date: Mon Jun 21 21:25:25 2010
  • Freeze User: jdobson
  • Freeze Host: lx06.hep.ph.ic.ac.uk

Incremental freeze for upcoming MCP1 release.

Changes since last freeze:

  • TGlobalReconModule has fixed functionality to relate reconstructed and truth quantities.
  • TGlobalReconModule has a number of extra fields added related to specific subdetectors.
  • Moved a number of the classes in TGlobalReconModule to a separate base class file as, when declared as nested classes, they wre breaking the TFile::MakeProject call made by the runAnalysis.py script when generating class libraries for the analysis macros.
  • Added documentation to top of all module header files with contact details for the current responsible for that module.

Version v4r21

Freeze information:

  • Freeze Date: Tue Jul 13 20:05:25 2010
  • Freeze User: jdobson
  • Freeze Host: lx06.hep.ph.ic.ac.uk

Freeze of oaAnalysis for inclusion in upcoming nd280 patch for MCP1. Mainly bug fixes for problems found with the initial results of MCP1. Changes and fixes include:

  • Updated TTrackerReconModule which has undergone a fairly large overhaul to solve issues with erectly reading output of tracker reconstruction. Also a few missing data members were added.
  • A few missing reconstruction objects have been added to TP0DReconModule.
  • A new application to compute efficiencies across a specific subdetector using the output of the global recon has been added to the app folder.

Version v4r23

Freeze information:

  • Freeze Date: Fri Sep 10 11:18:26 2010
  • Freeze User: lindner
  • Freeze Host: neut14

Freeze is mainly to capture a version of oaAnalysis that works with oaEvent v8r3; as well as to add beam summary and data quality flags.

Other changes include:

1) Additional node information for Tracker Recon Module.

2) Additional variables for Tracker ECAL Recon Module (thrust+length).

3) Changes for pass-through code to adapt to 10a flux files.

4) Addition of alternate TPC-only matching (ie Saclay analysis) to Tracker Recon Module and T2010aAnalysisExample1Module

Version v4r25

Freeze information:

  • Freeze Date: Sun Oct 10 16:00:11 2010
  • Freeze User: jdobson
  • Freeze Host: lx06.hep.ph.ic.ac.uk

Freeze to capture latest version of oaAnalysis and to be used with the upcoming nd280 release (v8r5). In addition to many bug-fixes and the lots of new variables being added to many of the modules the main changes since last freeze include: 1) TGlobalReconModule implements extrapolation to subdetectors. 2) Addition of 2010a analysis module. 3) Trigger word and CTM header information added to the TBasicHeaderModule. 4) BSDChecker.cxx application added to check that beam summary data is being correctly attached.

There has also been a change in the structure of the macros directory as it was getting very crowded, making it difficult for users to see the examples clearly. Now there are two additional folders in the macros directory: the deprecatedMacros folder and the officialMacros folder. The deprecatedMacros folder is for macros which do not work or have currently not been validated - for the moment this is where all the existing macros have been moved (this is not to say that they all have problems just that we need to go through them one by one, and validate them, before moving them out). The officialMacros folder is for more finalised macros which can be used as examples by other people who are learning about oaAnalysis and also as a possible place to store any analysis macros which may be being used for official results.

Temporarily this freeze excludes the oaBeamData module as a hack to stop a strange seg fault. As soon as a solution is found the oaBeamDataModule will be added ASAP.

Version v4r27

Freeze information:

  • Freeze Date: Mon Oct 11 19:07:46 2010
  • Freeze User: jdobson
  • Freeze Host: lx06.hep.ph.ic.ac.uk

Freeze for upcoming release of nd280. Main changes since last freeze are:

  • Reinstated beam summary module now that seg-fault issues have been resolved.
  • A number of bug fixes and improvements to the runAnalysis.py program.

Version v4r29

Freeze information:

  • Freeze Date: Mon Oct 18 18:55:15 2010
  • Freeze User: jdobson
  • Freeze Host: lx06.hep.ph.ic.ac.uk

New freeze for patch release of nd280 software. Only changes since last freeze are:

  • Bugfix in TTrackerECALReconModule to stop seg-faults when processing CERN tesbeam data.
  • Removal of deprecated TFGDIsoReconTOATrackModule.
  • Updates to TGlobalAnalysisUtils.cxx.

Version v4r31

Freeze information:

  • Freeze Date: Tue Oct 26 17:46:57 2010
  • Freeze User: jdobson
  • Freeze Host: lx06.hep.ph.ic.ac.uk

New freeze of oaAnalysis for inclusion in the upcoming patch release of the software. The only difference between this freeze and the last is that TGlobalRecon module has been updated to fix a few bugs which were being seen.

Version v4r33

Freeze information:

  • Freeze Date: Mon Nov 15 12:04:04 2010
  • Freeze User: jdobson
  • Freeze Host: lx06.hep.ph.ic.ac.uk

Incremental freeze with the following changes:

  • Add functionality to RunAnalysis.exe disable/enable all the modules from the command line.
  • Bugfix for event preselection option when running RunAnalysis.exe.
  • Bugfixes to TGlobalReconModule.
  • Bugfixes to TP0DReconModule.
  • Addition of a TGeometrySummaryModule.
  • Add option to runAnalysis.py so that can set debugging level at command line when running macros. Also make runAnalysis.py pick up macros/AnalysisTools from $OAANALYSISROOT/macros/AnalysisTools instead of looking at location of runAnalysis.py. This will means you can copy runAnalysis.py to your own personal directory and run macros from there.

These changes will be backported into a patch for RDP3.

Version v4r35

Freeze information:

  • Freeze Date: Mon Feb 14 14:41:58 2011
  • Freeze User: ms2609
  • Freeze Host: lx06.hep.ph.ic.ac.uk

A preliminary freeze of oaAnalysis to use for implementing the analysis file size reduction following the software meeting. Changes include: Updates to the TrackerECal module to use the new geometry and to store Kalman fitter variables. Additions of the Kalman fitter PID variables for the Ecal track/shower hypothesis to the GlobalReconModule. Update the BasicHeaderModule to store the software version if requested from the command line, and correctly stores run and subrun numbers for data. TExample2010aAnalysis1Module has now been disabled by default.

Version v4r37

Freeze information:

  • Freeze Date: Fri Mar 4 09:42:52 2011
  • Freeze User: ms2609
  • Freeze Host: lx06.hep.ph.ic.ac.uk

A new freeze of oaAnalysis for the next data production. The improvements from the last version include:

  • TP0DECALReconModule now present
  • TExample2010aAnalysis1Module disabled by default
  • Run and subrun numbers stored for data
  • Software version saved to the BasicHeader when using nd280Control
  • ECAL Kalman fitter variables added
  • New data quality flags for the TPC, ECAL and FGD
  • Flux pass-through information has been consolidated between GENIE and NEUT RooTrackerVertex modules
  • Removal of all unnecesarry data from P0DReconModule, addition of some PID variables and cluster information
  • GlobalReconModule has had lots of changes and improvements, detailed in Anselmo's talk at the software meeting on 28th February.

Version v5r1

Freeze information:

  • Freeze Date: Thu Aug 11 17:20:33 2011
  • Freeze User: ms2609
  • Freeze Host: lx05.hep.ph.ic.ac.uk

A new freeze of oaAnalysis with many large changes from the previous versions, resulting in an increase to version 5.

This version now has much improved organisation of the Truth modules, with different structures and no duplication of information. This change has been propagated through to the truth information stored by the global reconstruction module. Now, the global recon module stores the unique ID of every truth trajectory or vertex that it matches to a reconstructed object. These IDs can be used with the TruthUtils analysis tool in nd280AnalysisTools to gain access to all the truth information stored for a given trajectory or vertex.

This change will cause all previous analysis code to break, as the structure of the Truth modules has changed.

The macros/ and data/ directories have also been emptied, as these have been copied over to the nd280AnalysisTools package.

There has also been a few improvements to other modules, notably the missing context information is now present in the BasicHeader module.

Version v5r3

Freeze information:

  • Freeze Date: Sat Dec 10 13:46:05 2011
  • Freeze User: ms2609
  • Freeze Host: lx05.hep.ph.ic.ac.uk

Interim freeze of oaAnalysis for verification of the recent reconstruction changes Notable changes include:

Incremental improvements to most modules Addition of TrackerECal Pi0 analysis module - currently disabled as it is not compatible with the rest of the software Removal of NeutGenieIdx from TTruthVertices module, replaced in RooTrackerModule with the TruthVertex ID All trajectories in a chain are now saved.

There will be another freeze before the Production 5 release

Version v5r5

Freeze information:

  • Freeze Date: Wed Jan 18 16:20:18 2012
  • Freeze User: ms2609
  • Freeze Host: lx04.hep.ph.ic.ac.uk

An interim freeze of oaAnalysis to allow further development of the ND280 reconstruction.

There is a work-around in the TGlobalReconModule, commented in the code, for bug 569 which will have to be re-examined before a production freeze of the software. Also, RunOAAnalysis.exe seems to be running much slower than previously, which may be due to reconstruction changes. This will be investigated before the production freeze.

In this freeze there are improvements to the GlobalRecon and GRTF analysis modules alongside small changes to the SmrdRecon and TrackerECalRecon modules

Version v5r7

Freeze information:

  • Freeze Date: Wed Feb 8 16:28:59 2012
  • Freeze User: ms2609
  • Freeze Host: lx06.hep.ph.ic.ac.uk

An interim freeze before production 5 with all major changes added

Addition of the MC intensity to the basic header module Change in the beam summary module to use the new singleton implementation of TRawBeamData.

The global recon module now stores the unique ID of each sub-detector recon object that it includes in a global object.

The ECal recon and P0D ECal recon modules now store this same unique ID for each object they save, as does the P0D recon module. This should allow matching between the global recon object and the sub-detector objects that form it.

Warnings about hidden methods and so on have been removed

Version v5r9

Freeze information:

  • Freeze Date: Thu Mar 1 17:30:16 2012
  • Freeze User: ms2609
  • Freeze Host: lx06.hep.ph.ic.ac.uk

This is a freeze of oaAnalysis for production 5. It incorporates numerous bug fixes, most importantly there have been changes to:

TGlobalReconModule - Bug fixes and validation of data members

  • Addition of UniqueID variable to link global PID constituents to sub-detector recon objects

TTruthTrajectoriesModule - Optimisation and bug fixes

TAnalysisModuleBase - Setting the TTree AutoFlush parameter to 3Mb, rather than 30Mb, to solve bug 386

Version v5r11

Freeze information:

  • Freeze Date: Sat Mar 24 10:40:11 2012
  • Freeze User: ms2609
  • Freeze Host: lx06.hep.ph.ic.ac.uk

A new freeze of oaAnalysis incorporating bug fixes in the P0D recon module.

There have also been additions to the ECAL recon module and default value setting in the Global recon module

Finally, there is a new option, -O production, that will cause RunOAAnalysis.exe to throw an exception if there is no RooTracker information present when processing MC files

Version v5r13

Freeze information:

  • Freeze Date: Tue Apr 10 19:21:45 2012
  • Freeze User: ms2609
  • Freeze Host: lx06.hep.ph.ic.ac.uk

A new freeze of oaAnalysis incorporating the fixes for Bug 661, updates to the oaAnalysis PDG table and the addition of three new variables to the TrackerECalReconModule describing the extent of reconstructed clusters.

The fix to bug 661 means that the P0D now has correct truth matching for all its reconstructed objects The updated PDG table contains details on some ion isotopes that appeared after the nd280mc change (though they may have been present before and just not noticed) The new ECal variables allow the extent of a cluster to be fully described in the oaAnalysis files

Version v5r15

Freeze information:

  • Freeze Date: Tue May 15 15:27:56 2012
  • Freeze User: ms2609
  • Freeze Host: lx06.hep.ph.ic.ac.uk

A new freeze of oaAnalysis for production 5B. This contains:

Fix to GeometrySummaryModule to handle incorrect GeometryIds Addition of CosmicPreScaleWeight, P0DWaterStatus, Geometry Hash and Alignment Hash to BasicHeaderModule Fix for Bug 672 in P0DReconModule New Truth Matching algorithm results in TTrackerECalReconModule Fix Global-Subdetector IDs in P0D and ECal modules (Bug 667) Truth information saved for 2D objects in TTrackerECalRecon module

Version v5r17

Freeze information:

  • Freeze Date: Mon Feb 4 13:15:48 2013
  • Freeze User: db211
  • Freeze Host: lx06.hep.ph.ic.ac.uk

oaAnalysis freeze for production 6 (1st attempt). First freeze sinze the reconUtils migration. As a result many modules needing updating to conform to the migrated functions. PDG table updated to include missing genie Ions. In TrackerECalRecon, Radon transform results are now stored. In GlobalRecon, the TPC momentum refit information is now stored.

Version v5r19

Freeze information:

  • Freeze Date: Fri Feb 22 17:12:10 2013
  • Freeze User: db211
  • Freeze Host: lx06.hep.ph.ic.ac.uk

Re-freeze to accomodate the momentum-by-range hypotheses and how to store them (using the reconUtils function GetTRealDatumValue) Added three new TPC variables to the GlobalReconModule for production 6 When saving the uniqueID of a constituent, the original uniqueID is also saved. This allows constituents from the global module to be matched with the GRTF module.

Version v5r21

Freeze information:

  • Freeze Date: Thu Oct 31 13:44:09 2013
  • Freeze User: db211
  • Freeze Host: lx06.hep.ph.ic.ac.uk

Freeze for moving towards production 6.

Check added to see if a true vertex is a geantino vertex before reporting a mis-match. This logic is performed in a new function called IsGeantinoVertex(ND::TG4PrimaryVertex). Fix of nasty bug which causes duplication of the penultimate event. This happens when the last event contains no neutrino vertex, however the truth variable reset was performed after checking the existence of the vertex. The reset now happens before the vertex check.

Changed back end of variables which have the official POT/spill, POT/bunch, beam timing, bunch flag, and spill flag. Added spill flag for official timing to make this work. Correct CT5 bunch timing; CT5 variables are bieng kept at the moment for some backwards compatability reasons for code, but should be rid of either for Production 6 or the first reprocessing after prod. 6.

Include calculations of Vertex and End Activities for FGD for global Front and Back positions. Fill Vertex and End Activity variables also for Entering and Exiting positions to FGD. Add flag which discriminates between real beginning/end of track and its entering/exiting positions.

The production 6 test module for the global Recon has now been removed (reducing space used by ~40Mb).

All 1D arrays in the NRooTracker module are now dynamic. Due to the way the information is retrieved from the numc file, this required temporary duplication of member variables, however the duplicates are not saved to the final analysis file.

Version v5r23

Freeze information:

  • Freeze Date: Mon Nov 4 13:45:23 2013
  • Freeze User: db211
  • Freeze Host: lx06.hep.ph.ic.ac.uk

TGlobalReconModule: Removal of deprecated class TFGDCluster. Addition of variables TPCLength, NNodes, KalmanFitType, PDist and PEField to TPCObjects.

TTrackerECALReconModule: Check for existence of radon information before attempting to fill the tree. If no such information exists, fill the data members with default values.

NOTE: THIS FREEZE DOES NOT FIX THE MAKEPROJECT BUG (939) KNOWN IN v11r15

Version v5r25

Freeze information:

  • Freeze Date: Thu Nov 7 21:01:50 2013
  • Freeze User: db211
  • Freeze Host: lx06.hep.ph.ic.ac.uk

Every globalObject now includes a set of node times. The node times are stored on a sub detector basis. They are stored as a vector of pairs, the pairs of which are made up of a detector number and a TVector2. The TVector2 stores the times of the edge nodes for that subdetector.

Update the validation scripts to reflect the dynamic compilation of nd280AnalysisTools (which now uses $CMTCONFIG magic for compilation).

Small update to use correct TRealDatum names for momentum by range.

The PID and sense alternates have now been propagated to oaAnalysis.

Version v5r27

Freeze information:

  • Freeze Date: Fri Nov 8 11:10:16 2013
  • Freeze User: db211
  • Freeze Host: lx06.hep.ph.ic.ac.uk

Freeze for production 6

Corrected the filling of new tpc variables PDist and PEField in GlobalReconModule

Version v5r29

Freeze information:

  • Freeze Date: Sat Nov 9 17:03:46 2013
  • Freeze User: db211
  • Freeze Host: lx06.hep.ph.ic.ac.uk

Freeze for production 6.

TGlobalReconModule: The correct name is now used to fetch the globalVertex container. IsTrackLike() is no longer used in ComputeTrackLength() as it was found to be causing crashes during testing. Explicit checks of object types are now used instead.

Version v5r31

Freeze information:

  • Freeze Date: Wed Jan 21 12:18:41 2015
  • Freeze User: luke
  • Freeze Host: localhost.localdomain

This is the first oaAnalysis dev FREEZE towards P7.

This could be my first successful FREEZE message.

Major Changes:

  • Adds TRExRecon analysis module.
  • Adds FGD hit information to globalRecon objects
  • Adds ECal Hough vertexing output
  • Adds IsSand flag to TBasicHeaderModule
  • Removal of some old and deprecated variables from:
    • TTrackerECalReconModule
    • TTruthTrajectoriesModule

Coallated commit messages for this FREEZE follow:

ToaAnalysisUtils.{c,h}.xx

  • Added more granular subdetector information to the ESubdetector enum in response to Bug#1069 kP0DECalBottom = 13, kP0DECalLeft = 14, kP0DECalTop = 15, kP0DECalRight = 16, kBrlECalBottom = 17, kBrlECalLeft = 18, kBrlECalTop = 19, kBrlECalRight = 20
    • This is achieved by extending the string comparison 'if' nest that already exists. There is no simple way to do the SMRD properly like this so it has been left for a future fix.
    • Have attempted to almost preserve forward compatibility, but probably fail if you care about the Barrel or P0D ecals in your analysis.
    • This will likely be overhauled for final Prod7 releases anyway.
  • Formatting.

TTruthTrajectoriesModule.{c,h}xx

  • Updated to reflect changes to oaAnalysisEnums::ESubdetector
  • Removed old, non-'trace' subdetector/position/momentum variables. They have been DEPRECATED for more than three years. GONE!
  • Some formatting for the header

TTruthVerticesModule.{c,h}xx

  • Updated to reflect changes to oaAnalysisEnums::ESubdetector

Adds new files TTRExReconModule.cxx, TTRExReconModule.hxx

  • Adds new module TTRExReconModule
    • Adding TREx module to oaAnalysis.
    • Adding implementation of IDs for patterns and end position information for paths.
    • Adding pull variables and path charge.

TAnalysisLoop.cxx

  • Adds TTRexReconModule

TBasicHeaderModule.cxx, TBasicHeaderModule.hxx

  • Adds a simple IsSand flag for MC based upon run number. MC Run numbers are formatted like 9ABCDEEE where D == 7 demarcates a sand muon run.
  • Adds more documentation for BasicHeaderModule output tree class variables - closes Bug#732.

TGlobalReconModule.cxx, TGlobalReconModule.cxx

  • Removes usage of deprecated TVector3(double&) constructor.
  • Adds Layer/Position/Time/Charge/TrueTrajID info for individual FGD Hits

TP0DECALReconModule.cxx, TP0DECALReconModule.hxx

  • Adds documentation, closes bug #738.
  • Some reformatting.
  • Some //OBSOLETE code removal–that is what cvs is for.

TP0dReconModule.cxx, TP0DReconModules.hxx

  • Adds documentation, closes bug #736.
  • Some reformatting.
  • BUG FIX: In the p0dRecon cycle reconstruction, the unused hits are saved as a cluster which is saved with the cycle reconstruction result by the oaAnalysis TP0DReconModule. Unfortunately, the module was actually just saving a duplicate copy of the main vertex. This patch fixes the problem.

TSmrdReconModule.cxx, TSmrdReconModule.hxx

  • Adds documentation, closes bug #740.

TTrackerECALReconModule.cxx, TTrackerECALReconModule.hxx

  • Removal of redundant/uninitialised/not useful variables from the module. For the complete list, see bug #926.
  • Removes old TPC-ECal incremental matcher output variables.

Adds Vertexing Information:

  • Add output from the ECal vertex reconstruction to the tree. All top level cluster information is stored in a separate TClonesArray of TECALReconVertexClusters. All TECALReconVertexClusters contain separate TClonesArrays of TECALReconVertexTracks nad TECALReconVertexCrossings.
  • Store information about the 2D constituents of the 3D tracks. To keep file sizes down, the information is stored as data members of the TECALReconVertexTracks, rather than creating a new class.
  • Store truth information for the vertex cluster as a whole. Useful for classification of showers.

TTrackerReconModule.cxx

  • Removes usage of deprecated TVector3(double&) constructor.

TNRooTrackerVtxModule.cxx ,TNRooTrackerVtx.cxx, TNRooTrackerVtx.hxx

  • Adds Nucelon FSI information (This has been backported to P5 and P6 already)

Version v6r1

Freeze information:

  • Freeze Date: Fri Jan 20 14:25:13 2017
  • Freeze User: luke
  • Freeze Host: localhost.localdomain

Significant FREEZE. What might be known as a "big 'ol update". Version bumpin'

The HEAD has been procedurally improved and used for normal analysis tasks over the past two years by me (for ECal as target analysis) and the TRex group. As such, even though there are significant changes, it should be comparatively stable.

Major changes:

  • 'Modules' are no longer written to the output file. Instead, 'ConfigTrees' are now writen for each module. A module is invited to add branches to a config tree by overriding FillConfigTree. N.B. unless you are very sure that you don't need to you should tail call the base class method, TAnalysisModuleBase::FillConfigTree(configTree) this adds elements like the CVS tag to each config tree.
    • These modules which now implement a specific FillConfigTree: TBeamSummaryDataModule TGlobalReconModule TGRooTrackerVtxModule TNRooTrackerVtxModule TReconPerformanceEvalModule TRooTrackerVtxModuleBase TTrackerReconModule
  • Big clean up of needless TObjects and link defs. Modules are no longer TObjects.
  • Almost complete rewrite of TTrackerECALReconModule. Now looks like a 'factory' for oaAnalysis objects. The objects are no longer nested classes but live inside a namespace named after the old name of the 'Module'.
    • TTrackerECALReconModule now parses ECal-iso vertexes.
  • TGlobalReconModule takes advantage of this 'factory' rewrite and now contains no ECal object filling code, all variable calculation is handed off to TTrackerECALReconModules to reduce code duplication.
  • ECal segments output by TGlobalReconModule have updated variables! Should much-reduce mod-local object matching needs downstream.
    • Gets rid of deprecated PID variables and replaces them with parameters useful for Pi0 analyses which previously had to match objects from TTrackerECALReconModule objects.
  • TGlobalReconModule can now parse ECal-global vertices (requires nd280Recon v4r21).
  • Removes these files: src/{TAnalysisHeaderModuleBase.cxx, TAnalysisHeaderModuleBase_LinkDef.h, TAnalysisModuleBase_LinkDef.h, TAnalysisReconModuleBase.cxx, TAnalysisReconModuleBase_LinkDef.h, TAnalysisTruthModuleBase.cxx, TAnalysisTruthModuleBase_LinkDef.h, TBasicDataQualityModule_LinkDef.h, TBasicHeaderModule_LinkDef.h, TECALTestbeamModule_LinkDef.h, TExample2010aAnalysis1Module.cxx, TExample2010aAnalysis1Module.hxx, TExample2010aAnalysis1Module_LinkDef.h, TGRooTrackerVtxModule_LinkDef.h, TGlobalBaseObjects.cxx, TNRooTrackerVtxModule_LinkDef.h, TRooTrackerVtxModuleBase_LinkDef.h, TTrackerECALPi0ReconModule.cxx, TTrackerECALPi0ReconModule.hxx, TTrackerECALPi0ReconModule_LinkDef.h, TTrackerReconTOATrackModule.cxx, TTrackerReconTOATrackModule.hxx, TTrackerReconTOATrackModule_LinkDef.h, ToaAnalysisUtils.cxx, ToaAnalysisUtils.hxx, ToaAnalysisUtils_LinkDef.h}
  • TTruthTrajectories will now save G4TrajectoryPoint information for possible downstream SI reweighting. This is only enabled at compile time if the oaEvent version it is compiled against has this feature enabled.

Other changes:

  • Adds PrepareForReprocessing app which strips out various stages of the oaEvent processing chain. Useful for reducing file size inflation when reprocessing reco/cali/elmc files pulled down from the grid.
  • Adds signal handling which allows you to ask an executing instance of RunOAAnalysis.exe 'how its doing' or to 'please hurry up'.
    • killall -USR1 RunOAAnalysis.exe will notify the event loop to report the exact event number and excuting module to stdout.
    • killall -USR2 RunOAAnalysis.exe will cause all remaining events to instantly return false in the main ND280EventLoopFunction, effectively exiting early. However, it still has to process the loop so the graceful exit is not instantaneous.
  • Adds a CMake build. It is probably not the best CMake you have ever seen, certainly the rubbish, manual dependency generation probably doesn't achieve anything worthwhile. But I wrote it, so I might as well commit it. Enable in the requirements by commenting out the 'CMT Build Directives' section and uncommenting the 'CMake Build Directives' section.

Version v6r3

Freeze information:

  • Freeze Date: Fri May 26 10:52:13 2017
  • Freeze User: luke
  • Freeze Host: localhost.localdomain

This is nominally a freeze for P7, very few feautres over last freeze.

Interesting changes: new ECal PID quality variable passed through to analysers.

Less interesting changes: Adds two new POT counter apps, one generic and one which counts the number of ECal objects of various types per POT. Both read ND280 DQ and BSD, separation by horn current is included with a hard-coded tolerance of 10ka, which you should change if you want... 250 ka is taken as 'good' horn current which is checked on a spill by spill basis.

Version v6r5

Freeze information:

  • Freeze Date: Wed Jan 10 16:18:30 2018
  • Freeze User: ajf
  • Freeze Host: lapf.lancs.ac.uk

Extensive, but largely mechanical changes to documentation lines, designed to allow the oaAnalysis files to be "self documenting".

In addition "tree variables" which are defined directly in the code , as opposed to the header files, have had additional ->SetTitle("documentation") lines added at the point that the Branch is defined, where the documentation text has been cut and paste from the corresponding header file.

In TGlobalReconModule.cxx look for ND::TIntegerDatum>("PIDID") when matching global vertex tracks back to the original global track. If not available fall back on matching by position and momentum as before.

Version v6r7

Freeze information:

  • Freeze Date: Mon May 14 11:55:19 2018
  • Freeze User: ajf
  • Freeze Host: lapf.lancs.ac.uk

TTRExReconModule.cxx

Don't set branch a branch address for hackPath and hackPattern since they exist only for the sake of TFile::MakeProject.

Three bug fixes:

TAnalysisModuleBase.cxx: fFilledConfigTree initialised in constructor TTrackerECALReconModule: fDoSaveHoughResult, and fDoVertexing initialised in constructor TGlobalReconModule.cxx: ND::TReconTrack dummy array defined to have 18 elements not 10

(Fixes bug 1502)

Version 6_9

Freeze information:

  • Freeze Date: Sun Sep 1 19:29:56 2019
  • Freeze User: wilfs
  • Freeze Host: lx03.hep.ph.ic.ac.uk

In preparation for development for the nd280 upgrade, the official repository for this package (and all other nd280 software packages) has been moved from CVS to GitLab at git.t2k.org and it is now built by CMake rather than CMT. More information on the new CMake build can be found at http://nd280.lancs.ac.uk/devel/invariant/nd280Doc/workbook/SoftwareUserCMAKEandGIT.html.

Also, some of the packages have been renamed to make their role in the software clearer. This has affected some class and function names in the code too. For more information on the files changed by the package renaming, go to git.t2k.org/nd280/renaming.

The name of this package was changed from oaAnalysis to eventAnalysis.

Version 6_9_1

Freeze information:

  • Freeze Date: Fri Oct 11 14:27:49 2019
  • Freeze User: Wilf Shorrock
  • Freeze Host: lx03.hep.ph.ic.ac.uk

Minor changes applied across all packages where some references to package names are changed from the new package name to the old one to keep compatibility with old data. Also, some tweaks were made in certain places of the code to keep things to C++11 standards (or later), which is now enforced in nd280SoftwarePolicy.

Version 7_0

Freeze information:

  • Freeze Date: Thu Dec 10 11:57:31 2020
  • Freeze User: Alexander J Finch
  • Freeze Host: lapw.lancs.ac.uk

Includes modifications related to the upgrade detectors. Fix $Name$ and $Id$ values which had been committed filled in or left out completely.


Package Summary
Package Name: eventAnalysis
Package Version: 7.0-49-g0ac7482
Package Manager:

Generated on Mon Mar 25 2024 14:44:00 for eventAnalysis by doxygen 1.8.5