Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Core update #10

Merged
merged 30 commits into from
Jan 19, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
f2d8deb
bugfix in particle history extraction incase of broken history
jackaraz Jul 1, 2021
962125c
merged with v1.9_beta
jackaraz Jul 1, 2021
90e6108
ability to reset weights per SR region (recommended by Andreas Albert)
jackaraz Jul 1, 2021
4d6f1ff
enable command line option input for analyses
jackaraz Jul 1, 2021
f25fd3b
check g++ std versions (currently 11,14 but expandable)
jackaraz Jul 2, 2021
7519eab
added utility file for useful func.s e.g. overlap removal and collect…
jackaraz Jul 6, 2021
58232e4
simplify utils
jackaraz Jul 6, 2021
d04135c
expand utility-belt and retire old C++ compilers
jackaraz Jul 6, 2021
b440b65
add conditional removal
jackaraz Jul 6, 2021
fb9d081
bugfix in forced mode
jackaraz Jul 8, 2021
27818d6
add default hadronic & invisible particle initiation
jackaraz Jul 10, 2021
9656e2c
update analyzer initialization sequence
jackaraz Jul 10, 2021
1b1e035
updates and bugfix: Rec Dataformat needs to be checked thoroughly
jackaraz Jul 13, 2021
11a8f5b
bugfix and addition of utils
jackaraz Jul 14, 2021
333384a
bugfix in datastructure for c++11
jackaraz Jul 15, 2021
fce51e5
remove override: for linux
jackaraz Jul 15, 2021
1e17fde
update track format: remove override
jackaraz Jul 15, 2021
9a681d6
bugfix in rectrackformat
jackaraz Jul 15, 2021
09717c4
merged with v1.9_beta branch
jackaraz Jul 16, 2021
bb78fa3
mc and pdgid initializer fix for track format
jackaraz Jul 22, 2021
c12099c
merged with v1.9_beta
jackaraz Dec 2, 2021
e46f73d
Merge branch 'main' into core_update
jackaraz Jan 14, 2022
077fdae
add paths for autodetection of zlib on macos
jackaraz Jan 14, 2022
2a24005
add link to talks
jackaraz Jan 14, 2022
bf346b7
crutial bugfix in pyhf wrapper
jackaraz Jan 14, 2022
3d6986c
drop support for python<3.8 and update readme
jackaraz Jan 15, 2022
e125c2b
upate readme
jackaraz Jan 15, 2022
2bd4c6d
version update to 1.10.1
jackaraz Jan 15, 2022
92ca66d
update UpdateNotes
jackaraz Jan 15, 2022
ef1f7e9
polishing this PR
BFuks Jan 19, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,11 @@

[![PAD](https://img.shields.io/static/v1?style=plastic&label=Recasting&message=PublicAnalysisDatabase&color=blue)](http://madanalysis.irmp.ucl.ac.be/wiki/PublicAnalysisDatabase)
[![TUTO](https://img.shields.io/static/v1?style=plastic&label=Tutorials&message=@HomePage&color=red)](https://madanalysis.irmp.ucl.ac.be/wiki/tutorials)
[![Talks](https://img.shields.io/static/v1?style=plastic&label=Talks&message=@HomePage&color=red)](http://madanalysis.irmp.ucl.ac.be/wiki/Talks)
[![FAQ](https://img.shields.io/static/v1?style=plastic&label=FAQ&message=NormalMode&color=orange)](http://madanalysis.irmp.ucl.ac.be/wiki/FAQNormalMode)

![Python v3.8](https://img.shields.io/badge/python-3670A0?style=plastic&logo=python&logoColor=ffdd54&label=3.6|3.7|3.8&color=brightgreen)
![C++](https://img.shields.io/badge/c++-%2300599C.svg?style=plastic&logo=c%2B%2B&logoColor=white&label=98|11)
![Python v3.8](https://img.shields.io/badge/python-3670A0?style=plastic&logo=python&logoColor=ffdd54&label=3.8&color=brightgreen)
![C++](https://img.shields.io/badge/c++-%2300599C.svg?style=plastic&logo=c%2B%2B&logoColor=white&label=11)
## Outline
- [What is MadAnalysis 5?](#what-is-madanalysis-5)
- [Requirements](#requirements)
Expand Down Expand Up @@ -44,7 +45,7 @@ More details can be found on the [MadAnalysis 5 website](https://madanalysis.irm

MadAnalysis 5 requires several external libraries in order to properly run:

- Python 3.6 or a more recent version that can be downloaded from [this website](http://www.python.org/)
- Python 3.8 or a more recent version that can be downloaded from [this website](http://www.python.org/)
In order to check the installed version of Python on a system, it is
sufficient to issue in a shell `$ python --version`.

Expand Down
8 changes: 4 additions & 4 deletions bin/ma5
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,10 @@ and call immediately the command line interface scripts"""

# Checking if the correct release of Python is installed
import sys
if (sys.version_info[0] == 2 and sys.version_info[1] < 7) or (sys.version_info[0] == 3 and sys.version_info[1] < 6):
if (sys.version_info[0] == 2 and sys.version_info[1] < 7) or (sys.version_info[0] == 3 and sys.version_info[1] < 8):
sys.exit('Python release '+ sys.version + ' is detected.\n' + \
'MadAnalysis 5 works only with python 2.7 ' + \
'or python 3.6 and later.\n' + \
'or python 3.8 and later.\n' + \
'Please upgrade your version of python.')

# Checking that the 'six' package is present
Expand Down Expand Up @@ -69,8 +69,8 @@ sys.path.insert(0, servicedir)

# Release version
# Do not touch it !!!!!
version = "1.10.0"
date = "2022/01/12"
version = "1.10.1"
date = "2022/01/15"

# Loading the MadAnalysis session
import madanalysis.core.launcher
Expand Down
7 changes: 7 additions & 0 deletions madanalysis/UpdateNotes.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
Update notes for MadAnalysis 5 (in reverse time order)


133 1.10.1 (2021/12/15) ma5team: - Minimum python version requirement has been increased to 3.8.
- Minimum GCC compiler requirement has been increased to `std=c++11` compatible.
- Update in expert mode structure, several new functionalities like filter
functions, region dependent reweigthing, ability to input command line options.
For details [see PR input](#link-PR-here).

132 1.9 (2021/12/13) ma5team: - Adding support for LLP (also in the SFS) [2112.05163].
- Particle propagation module [2112.05163].
- PYHF/simplified likelihood interface.
Expand Down
2 changes: 1 addition & 1 deletion madanalysis/build/makefile_writer.py
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,7 @@ def Makefile(MakefileName,title,ProductName,ProductPath,isLibrary,cppfiles,hfile

# - general
cxxflags=[]
cxxflags.extend(['-Wall','-O3','-fPIC', '-I$(MA5_BASE)/tools/']) # general
cxxflags.extend(['-Wall','-std=c++11','-O3','-fPIC', '-I$(MA5_BASE)/tools/']) # general
file.write('CXXFLAGS = '+' '.join(cxxflags)+'\n')
for item in moreIncludes:
file.write('CXXFLAGS += '+' -I'+item+'\n')
Expand Down
64 changes: 31 additions & 33 deletions madanalysis/interpreter/cmd_install.py
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ def UpdatePaths():
UpdatePaths()
if not main.CheckConfig():
return False
return resu
return resu
elif ResuActi == 0 and has_release and not pad:
self.logger.warning("A previous " + release +' installation has been found. Skipping...')
self.logger.warning('To update ;' + release + ', please remove first the tools/' + release + 'delphes directory')
Expand Down Expand Up @@ -140,27 +140,26 @@ def UpdatePaths():
return True
elif args[0]=='PAD':
pad_install_check, padsfs_install_check = False, False
# PAD requires ma5 to be restarted; therefore we first install PADForSFS
# First check if PAD4SFS is installed
if not self.main.session_info.has_padsfs:
if self.main.archi_info.has_fastjet:
padsfs_install_check = installer.Execute('PADForSFS')
else:
self.logger.warning("PADForSFS requires FastJet to be installed.")
self.logger.info("Would you like to install FastJet? [Y/N]")
while True:
answer = input("Answer : ")
if answer.lower() in ['y','n','yes','no']:
break
else:
self.logger.warning("Please answer as \'y\', \'n\'")
if answer.lower() in ['y','yes']:
if not installer.Execute('fastjet'):
return False
if not installer.Execute('fastjet-contrib'):
return False
if not installer.Execute('PADForSFS'):
return False
# check if FastJet is installed
if not self.main.archi_info.has_fastjet:
answer = "y"
if not self.main.forced:
self.logger.warning("PADForSFS requires FastJet to be installed.")
self.logger.info("Would you like to install FastJet? [Y/N]")
while True:
answer = input("Answer : ")
if answer.lower() in ['y','n','yes','no', "yeap", "nope"]:
break
if answer.lower() in ['y','yes',"yeap"]:
for package in ["fastjet", "fastjet-contrib", "PADForSFS"]:
if not installer.Execute(package):
return False
padsfs_install_check = 'restart'
else:
padsfs_install_check = installer.Execute('PADForSFS')

if inst_delphes(self.main,installer,'delphes',True):
pad_install_check = installer.Execute('PAD')
else:
Expand All @@ -174,19 +173,18 @@ def UpdatePaths():
if self.main.archi_info.has_fastjet:
padsfs_install_check = installer.Execute('PADForSFS')
else:
self.logger.warning("PADForSFS requires FastJet to be installed.")
self.logger.info("Would you like to install FastJet? [Y/N]")
while True:
answer = input("Answer : ")
if answer.lower() in ['y','n','yes','no']:
break
if answer.lower() in ['y','yes']:
if not installer.Execute('fastjet'):
return False
if not installer.Execute('fastjet-contrib'):
return False
if not installer.Execute('PADForSFS'):
return False
answer = "y"
if not self.main.forced:
self.logger.warning("PADForSFS requires FastJet to be installed.")
self.logger.info("Would you like to install FastJet? [Y/N]")
while True:
answer = input("Answer : ")
if answer.lower() in ['y','n','yes','no', "yeap", "nope"]:
break
if answer.lower() in ['y','yes',"yeap"]:
for package in ["fastjet", "fastjet-contrib", "PADForSFS"]:
if not installer.Execute(package):
return False
return 'restart'
return padsfs_install_check
elif args[0]=='pyhf':
Expand Down
Loading