Skip to content

Commit dabbd78

Browse files
authored
Merge pull request #291 from VERITAS-Observatory/v492-dev
v492.0 base development branch
2 parents ae31740 + 20ccaab commit dabbd78

File tree

109 files changed

+3508
-8850
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

109 files changed

+3508
-8850
lines changed

.github/workflows/ci-buildmatrix-cpp17.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ name: cpp17-buildmatrix
44
# Controls when the workflow will run
55
on:
66
pull_request:
7-
branches: [main, master]
87
workflow_dispatch:
98

109
jobs:
@@ -36,7 +35,7 @@ jobs:
3635
3736
- name: sofa
3837
run: |
39-
curl https://syncandshare.desy.de/index.php/s/${{ secrets.SOFA }}/download > sofa/sofa.tar.gz
38+
curl https://syncandshare.desy.de/index.php/s/${{ secrets.SOFA20231011 }}/download > sofa/sofa.tar.gz
4039
./install_sofa.sh
4140
4241
- name: eventdisplay

.github/workflows/ci.yml

Lines changed: 0 additions & 37 deletions
This file was deleted.

.pre-commit-config.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
repos:
22
# https://pycqa.github.io/isort/docs/configuration/black_compatibility.html#integration-with-pre-commit
33
- repo: https://github.com/pycqa/isort
4-
rev: 5.13.2
4+
rev: 6.0.1
55
hooks:
66
- id: isort
77
args: ["--profile", "black", "--filter-files"]
88
- repo: https://github.com/psf/black
9-
rev: 24.10.0
9+
rev: 25.1.0
1010
hooks:
1111
- id: black
1212
args: ["--line-length=100"]
1313
# https://black.readthedocs.io/en/stable/guides/using_black_with_other_tools.html?highlight=other%20tools#flake8
1414
- repo: https://github.com/PyCQA/flake8
15-
rev: 7.1.1
15+
rev: 7.2.0
1616
hooks:
1717
- id: flake8
1818
args: ["--max-line-length=100", "--extend-ignore=E203,E712"]
@@ -31,7 +31,7 @@ repos:
3131
# - id: actionlint
3232
# codespell
3333
- repo: https://github.com/codespell-project/codespell
34-
rev: v2.3.0
34+
rev: v2.4.1
3535
hooks:
3636
- id: codespell
3737
args: [

CHANGELOG

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Changelog
2+
3+
Note that this changelog starts only with version v491.1
4+
5+
## v492.0 (dev)
6+
7+
### Maintenance
8+
9+
- improve efficiency oF MVA calling for gamma/hadron separation cuts
10+
- update SOFA to version 2023-10-11
11+
12+
## v491.1 (dev)
13+
14+
### Bugfix
15+
16+
- fix segmentation fault in anasum when trying to analysis a mscw file with an
17+
empty data tree

INSTALL.md

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# INSTALLATION
1+
# INSTALLATION
22

33
Eventdisplay is a C++ based library and designed to run in typical Linux environments. It has not been tested on MacOS (use Docker containers in this instance).
44

@@ -8,19 +8,19 @@ Eventdisplay is a C++ based library and designed to run in typical Linux environ
88

99
CERN's [ROOT](https://root.cern.ch/) library for I/O, histogramming, and statistical applications:
1010

11-
- ROOT versions >= 6.28
12-
- the first-stage tool `evndisp` requires ROOT compiled with mysql for access to the VERITAS database. Pre-compiled version of ROOT (downloaded from [here](https://root.cern/install/)) have mysql installed. If building from source, ensure the mysql dependencies are installed and compiler flags are added (see [root installation page](https://root.cern/install/build_from_source/)). All other stages of Eventdisplay do not required mysql - meaning e.g., the conda-based installation of Eventdisplay is fine.
13-
- paths for ROOT should be set through e.g.,
11+
* ROOT versions >= 6.28
12+
* the first-stage tool `evndisp` requires ROOT compiled with mysql for access to the VERITAS database. Pre-compiled version of ROOT (downloaded from [here](https://root.cern/install/)) have mysql installed. If building from source, ensure the mysql dependencies are installed and compiler flags are added (see [root installation page](https://root.cern/install/build_from_source/)). All other stages of Eventdisplay do not required mysql - meaning e.g., the conda-based installation of Eventdisplay is fine.
13+
* paths for ROOT should be set through e.g.,
1414

15-
```
15+
```console
1616
export ROOTSYS=<Path to ROOT installation>/root/
1717
cd $ROOTSYS
1818
source ./bin/thisroot.sh
1919
```
2020

21-
- test your ROOT installation using the `root-config` tool, which should be accessible from any directory (through the `PATH` variable) if the system is setup correctly:
21+
Test your ROOT installation using the `root-config` tool, which should be accessible from any directory (through the `PATH` variable) if the system is setup correctly:
2222

23-
```
23+
```console
2424
root-config --version
2525
root-config --has-mysql
2626
```
@@ -31,7 +31,7 @@ root-config --has-mysql
3131

3232
Download and install using this script in the $EVNDISPSYS directory:
3333

34-
```
34+
```console
3535
./install_sofa.sh
3636
```
3737

@@ -41,9 +41,9 @@ Set the following environmental variable: `SOFASYS=$EVNDISPSYS/sofa`
4141

4242
The first-stage tool `evndisp` requires the [VBF](https://github.com/VERITAS-Observatory/VBF) (VERITAS bank format) library to read VERITAS raw data files.
4343

44-
- use VBF version VBF >= 0.3.4
45-
- https://github.com/VERITAS-Observatory/VBF/releases/tag/0.3.4-1-c%2B%2B17 for newer Linux systems C++17 support
46-
- https://github.com/VERITAS-Observatory/VBF/releases/tag/0.3.4-1 for all other systems
44+
* use VBF version VBF >= 0.3.4
45+
* https://github.com/VERITAS-Observatory/VBF/releases/tag/0.3.4-1-c%2B%2B17 for newer Linux systems C++17 support
46+
* https://github.com/VERITAS-Observatory/VBF/releases/tag/0.3.4-1 for all other systems
4747

4848
Simple installation instructions are found in `VBF/README`. To install in a local directory instead of the first installation command in VBF/README use `$ /.configure --prefix=<local directory>` and change the environment variable `VBFSYS` to `<local directory>`.
4949

@@ -67,21 +67,21 @@ Eventdisplay can be used efficiently with the correct environmental variables se
6767

6868
### Compiling and Linking
6969

70-
ROOTSYS : (required) ROOT installation; add $ROOTSYS/lib to $LD_LIBRARY_PATH and $ROOTSYS/bin to $PATH
70+
`ROOTSYS` : (required) ROOT installation; add $ROOTSYS/lib to $LD_LIBRARY_PATH and $ROOTSYS/bin to $PATH
7171

72-
SOFASYS: (required) Astronomy library from Sofa
72+
`SOFASYS` : (required) Astronomy library from Sofa
7373

74-
VBSYS : (optional) VBF libraries (for `evndisp` analysis only); add $VBFSYS/bin to $PATH and $VBFSYS/lib to $LD_LIBRARY_PATH
74+
`VBFSYS` : (optional) VBF libraries (for `evndisp` analysis only); add $VBFSYS/bin to $PATH and $VBFSYS/lib to $LD_LIBRARY_PATH
7575

76-
FITSSYS : (optional, not needed in most cases) FITS libraries
76+
`FITSSYS` : (optional, not needed in most cases) FITS libraries
7777

78-
GSLSYS : (optional, not needed in most cases) GSL libraries
78+
`GSLSYS` : (optional, not needed in most cases) GSL libraries
7979

8080
### Analysis
8181

82-
EVNDISPSYS : Eventdisplay code directory (scripts expect binaries in $EVNDISPSYS/bin and libraries in $EVNDISPSYS/lib). Add $EVNDISPSYS/obj to LD_LIBRARY_PATH.
82+
`EVNDISPSYS` : Eventdisplay code directory (scripts expect binaries in `$EVNDISPSYS/bin` and libraries in `$EVNDISPSYS/lib`). Add `$EVNDISPSYS/obj` to `LD_LIBRARY_PATH`.
8383

84-
EVNDISPSCRIPTS: Eventdisplay scripts directory
84+
`EVNDISPSCRIPTS`: Eventdisplay scripts directory (see [Eventdisplay_AnalysisScripts_VTS](https://github.com/VERITAS-Observatory/Eventdisplay_AnalysisScripts_VTS)).
8585

8686
### Data directories
8787

@@ -90,57 +90,57 @@ Assume a computing environment, where several users are analysis the same raw da
9090
directories ($VERITAS_USER_DATA_DIR).
9191
Note that $VERITAS_DATA_DIR and $VERITAS_USER_DATA_DIR can point to the same directory.
9292

93-
- VERITAS_EVNDISP_AUX_DIR: directory with all auxiliary data like calibration files, lookup tables, effective areas, etc
94-
- VERITAS_DATA_DIR : directory containing the raw telescope data or input simulation files
95-
- VERITAS_USER_DATA_DIR : user data directory: containing output files from this analysis package
96-
- VERITAS_USER_LOG_DIR : user log file directory: log files and temporary scripts are written to this directory
93+
* VERITAS_EVNDISP_AUX_DIR: directory with all auxiliary data like calibration files, lookup tables, effective areas, etc
94+
* VERITAS_DATA_DIR : directory containing the raw telescope data or input simulation files
95+
* VERITAS_USER_DATA_DIR : user data directory: containing output files from this analysis package
96+
* VERITAS_USER_LOG_DIR : user log file directory: log files and temporary scripts are written to this directory
9797

9898
To set the variables for VERITAS:
9999

100-
```
100+
```console
101101
./setObservatory.sh VERITAS
102102
```
103103

104-
# Compiling
104+
## Compiling
105105

106106
Check your systems configuration:
107107

108-
```
108+
```console
109109
make config
110110
```
111111

112112
Compare the output with the requirements on software and environmental variable settings described above.
113113

114114
In the main Eventdisplay directory ($EVNDISPSYS is pointing to this directory), compile all Eventdisplay binaries with
115115

116-
```
116+
```console
117117
source ./setObservatory.sh VTS
118118
make VTS
119119
```
120120

121121
If you are working on a computing with several cores, this can be accelerated by e.g. compiling with four cores in parallel:
122122

123-
```
123+
```console
124124
source ./setObservatory.sh VTS
125125
make -j 12 VTS
126126
```
127127

128128
To compile a single component of the software only, e.g.:
129129

130-
```
130+
```console
131131
source ./setObservatory.sh VTS
132132
make slib
133133
```
134134

135135
Use `make clean` to remove any files produced in earlier compilation runs.
136136

137-
# Troubleshooting
137+
## Troubleshooting
138138

139-
- many compilation issues are related to incorrect settings of the environmental variables, especially `ROOTSYS` and `VBFSYS`.
140-
- ask via ELOG, slack, or GitHub issues for persistent issues
141-
- check your installation, it should look something like this (with different directories):
139+
* many compilation issues are related to incorrect settings of the environmental variables, especially `ROOTSYS` and `VBFSYS`.
140+
* ask via ELOG, slack, or GitHub issues for persistent issues
141+
* check your installation, it should look something like this (with different directories):
142142

143-
```
143+
```console
144144
CONFIGURATION SUMMARY FOR EVNDISP version 490
145145
======================================================
146146

Makefile

Lines changed: 25 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ ARCH = $(shell uname)
3232
# basic numbers
3333
#############################
3434
package = EVNDISP
35-
version = 491
35+
version = 492
3636
#############################
3737
#############################
3838
# check root version number
@@ -355,6 +355,7 @@ MSCOBJECTS= ./obj/Cshowerpars.o ./obj/Ctpars.o \
355355
./obj/VStatistics_Dict.o \
356356
./obj/VEvndispReconstructionParameter.o ./obj/VEvndispReconstructionParameter_Dict.o \
357357
./obj/VSimpleStereoReconstructor.o \
358+
./obj/VMeanScaledVariables.o \
358359
./obj/VGrIsuAnalyzer.o \
359360
./obj/VDispAnalyzer.o \
360361
./obj/VDispTableReader.o \
@@ -412,6 +413,9 @@ ACCOBJECT = ./obj/makeRadialAcceptance.o \
412413
./obj/VAnaSumRunParameter.o ./obj/VAnaSumRunParameter_Dict.o \
413414
./obj/VEvndispRunParameter.o ./obj/VEvndispRunParameter_Dict.o \
414415
./obj/VImageCleaningRunParameter.o ./obj/VImageCleaningRunParameter_Dict.o \
416+
./obj/VDispAnalyzer.o ./obj/VDispTableReader.o ./obj/VDispTableReader_Dict.o ./obj/VDispTableAnalyzer.o \
417+
./obj/VTMVADispAnalyzer.o ./obj/VMeanScaledVariables.o \
418+
./obj/VEmissionHeightCalculator.o ./obj/VSimpleStereoReconstructor.o ./obj/VGrIsuAnalyzer.o \
415419
./obj/VUtilities.o
416420

417421

@@ -457,6 +461,9 @@ ACCOBJECT = ./obj/VTS.getRun_TimeElevAzim.o \
457461
./obj/VStarCatalogue.o ./obj/VStarCatalogue_Dict.o \
458462
./obj/VStar.o ./obj/VStar_Dict.o \
459463
./obj/VDB_Connection.o \
464+
./obj/VDispAnalyzer.o ./obj/VDispTableReader.o ./obj/VDispTableReader_Dict.o ./obj/VDispTableAnalyzer.o \
465+
./obj/VTMVADispAnalyzer.o ./obj/VMeanScaledVariables.o \
466+
./obj/VEmissionHeightCalculator.o ./obj/VSimpleStereoReconstructor.o ./obj/VGrIsuAnalyzer.o \
460467
./obj/VUtilities.o
461468

462469
ifeq ($(ASTRONMETRY),-DASTROSLALIB)
@@ -496,6 +503,9 @@ EFFOBJECT = ./obj/VGammaHadronCuts.o ./obj/VGammaHadronCuts_Dict.o ./obj/CData.o
496503
./obj/VMathsandFunctions.o ./obj/VMathsandFunctions_Dict.o \
497504
./obj/VAstronometry.o ./obj/VAstronometry_Dict.o \
498505
./obj/VEnergySpectrumfromLiterature.o ./obj/VEnergySpectrumfromLiterature_Dict.o \
506+
./obj/VDispAnalyzer.o ./obj/VDispTableReader.o ./obj/VDispTableReader_Dict.o ./obj/VDispTableAnalyzer.o \
507+
./obj/VTMVADispAnalyzer.o ./obj/VMeanScaledVariables.o \
508+
./obj/VEmissionHeightCalculator.o ./obj/VSimpleStereoReconstructor.o ./obj/VGrIsuAnalyzer.o \
499509
./obj/makeEffectiveArea.o
500510

501511
ifeq ($(ASTRONMETRY),-DASTROSLALIB)
@@ -624,6 +634,9 @@ ANASUMOBJECTS = ./obj/VAnaSum.o ./obj/VGammaHadronCuts.o ./obj/VGammaHadronCuts_
624634
./obj/VGlobalRunParameter.o ./obj/VGlobalRunParameter_Dict.o \
625635
./obj/VSkyCoordinatesUtilities.o ./obj/VUtilities.o \
626636
./obj/VMathsandFunctions.o ./obj/VMathsandFunctions_Dict.o \
637+
./obj/VDispAnalyzer.o ./obj/VDispTableReader.o ./obj/VDispTableReader_Dict.o ./obj/VDispTableAnalyzer.o \
638+
./obj/VTMVADispAnalyzer.o ./obj/VMeanScaledVariables.o \
639+
./obj/VEmissionHeightCalculator.o ./obj/VSimpleStereoReconstructor.o ./obj/VGrIsuAnalyzer.o \
627640
./obj/anasum.o
628641

629642
ifeq ($(ASTRONMETRY),-DASTROSLALIB)
@@ -911,6 +924,9 @@ COMPAREDATAMCOBJ= ./obj/CData.o \
911924
./obj/VPlotUtilities.o ./obj/VPlotUtilities_Dict.o ./obj/Ctelconfig.o \
912925
./obj/VHistogramUtilities.o ./obj/VHistogramUtilities_Dict.o \
913926
./obj/VMathsandFunctions.o ./obj/VMathsandFunctions_Dict.o \
927+
./obj/VDispAnalyzer.o ./obj/VDispTableReader.o ./obj/VDispTableReader_Dict.o ./obj/VDispTableAnalyzer.o \
928+
./obj/VTMVADispAnalyzer.o ./obj/VMeanScaledVariables.o \
929+
./obj/VEmissionHeightCalculator.o ./obj/VSimpleStereoReconstructor.o ./obj/VGrIsuAnalyzer.o \
914930
./obj/compareDatawithMC.o
915931

916932
ifeq ($(ASTRONMETRY),-DASTROSLALIB)
@@ -1072,6 +1088,8 @@ WRITEPARTPHYSOBJ= ./obj/writeParticleRateFilesForTMVA.o \
10721088
./obj/VTimeMask.o ./obj/VTimeMask_Dict.o \
10731089
./obj/VAnaSumRunParameter.o ./obj/VAnaSumRunParameter_Dict.o \
10741090
./obj/VImageCleaningRunParameter.o ./obj/VImageCleaningRunParameter_Dict.o \
1091+
./obj/VDispAnalyzer.o ./obj/VDispTableReader.o ./obj/VDispTableReader_Dict.o ./obj/VDispTableAnalyzer.o \
1092+
./obj/VTMVADispAnalyzer.o \
10751093
./obj/VUtilities.o
10761094

10771095
ifeq ($(ASTRONMETRY),-DASTROSLALIB)
@@ -1251,6 +1269,9 @@ calculateCrabRateFromMC: ./obj/CEffArea.o ./obj/CEffArea_Dict.o \
12511269
./obj/VImageCleaningRunParameter.o ./obj/VImageCleaningRunParameter_Dict.o \
12521270
./obj/VTimeMask.o ./obj/VTimeMask_Dict.o \
12531271
./obj/VAnaSumRunParameter.o ./obj/VAnaSumRunParameter_Dict.o \
1272+
./obj/VDispAnalyzer.o ./obj/VDispTableReader.o ./obj/VDispTableReader_Dict.o ./obj/VDispTableAnalyzer.o \
1273+
./obj/VTMVADispAnalyzer.o ./obj/VMeanScaledVariables.o \
1274+
./obj/VEmissionHeightCalculator.o ./obj/VSimpleStereoReconstructor.o ./obj/VGrIsuAnalyzer.o \
12541275
./obj/calculateCrabRateFromMC.o
12551276
$(LD) $(LDFLAGS) $^ $(GLIBS) $(OutPutOpt) ./bin/$@
12561277
@echo "$@ done"
@@ -1357,6 +1378,9 @@ calculateBinaryPhases: ./obj/CData.o \
13571378
./obj/VImageCleaningRunParameter.o ./obj/VImageCleaningRunParameter_Dict.o \
13581379
./obj/VTableLookupRunParameter.o ./obj/VTableLookupRunParameter_Dict.o \
13591380
./obj/VGlobalRunParameter.o ./obj/VGlobalRunParameter_Dict.o \
1381+
./obj/VDispAnalyzer.o ./obj/VDispTableReader.o ./obj/VDispTableReader_Dict.o ./obj/VDispTableAnalyzer.o \
1382+
./obj/VTMVADispAnalyzer.o ./obj/VMeanScaledVariables.o ./obj/VUtilities.o \
1383+
./obj/VEmissionHeightCalculator.o ./obj/VSimpleStereoReconstructor.o ./obj/VGrIsuAnalyzer.o \
13601384
./obj/VOrbitalPhase.o ./obj/VOrbitalPhase_Dict.o \
13611385
./obj/VSkyCoordinatesUtilities.o \
13621386
./obj/VAstronometry.o \
@@ -1486,31 +1510,6 @@ binaryVisibility: ./obj/VLibNovaStar.o ./obj/VLibNovaSunAndMoon.o ./obj/binaryVi
14861510
@echo "$@ done"
14871511

14881512

1489-
########################################################
1490-
# writeFITS_eventlist
1491-
########################################################
1492-
writeFITS_eventlistOBJ = ./obj/writeFITS_eventlist.o \
1493-
./obj/CData.o \
1494-
./obj/VSkyCoordinates.o \
1495-
./obj/VSkyCoordinatesUtilities.o \
1496-
./obj/VDB_Connection.o \
1497-
./obj/VStarCatalogue.o ./obj/VStarCatalogue_Dict.o \
1498-
./obj/VStar.o ./obj/VStar_Dict.o \
1499-
./obj/VUtilities.o \
1500-
./obj/VGlobalRunParameter.o ./obj/VGlobalRunParameter_Dict.o \
1501-
./obj/VAstronometry.o ./obj/VAstronometry_Dict.o
1502-
1503-
ifeq ($(ASTRONMETRY),-DASTROSLALIB)
1504-
writeEventListTMVAOBJ += ./obj/VASlalib.o
1505-
endif
1506-
1507-
./obj/writeFITS_eventlist.o: ./src/writeFITS_eventlist.cpp
1508-
$(CXX) $(CXXFLAGS) -I $(EVLIOSYS)/records/ -I $(EVLIOSYS)/include/ -c -o $@ $<
1509-
1510-
writeFITS_eventlist: $(writeFITS_eventlistOBJ)
1511-
$(LD) $(LDFLAGS) $^ $(GLIBS) -L $(EVLIOSYS)/lib -lfitsrecord $(OutPutOpt) ./bin/$@
1512-
@echo "$@ done"
1513-
15141513
###############################################################################################################################
15151514
# print environment and compilation parameters
15161515
###############################################################################################################################

0 commit comments

Comments
 (0)