Coder Social home page Coder Social logo

jjacob / analysissoftware Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bristoltopgroup/analysissoftware

0.0 1.0 0.0 75.34 MB

Analysis software for particle physics analysis

License: Other

CMake 0.62% C++ 74.27% Shell 18.22% Python 6.75% C 0.14%

analysissoftware's Introduction

AnalysisSoftware

Analysis software for TTbar+X differential cross section analysis (TOP-12-042)

General Recipe

To setup the stand-alone version of the code:

# get the code from the repository
git clone https://github.com/BristolTopGroup/AnalysisSoftware.git AnalysisSoftware
cd AnalysisSoftware

# on DICE need to source ROOT:
# source /software/root/v5.32.00/bin/thisroot.sh

# create the makefile using cmake (install it if you don't have it: https://github.com/Kitware/CMake)
# minimal cmake version 2.6.0 according to CMakeLists.txt
cmake CMakeLists.txt
#on DICE use cmake28
# cmake28 CMakeLists.txt

# for older versions of boost, e.g. on DICE, you will need to
#sed -i 's/lib64\/lib64/lib64/g' ./CMakeFiles/AnalysisSoftware.dir/build.make
#sed -i 's/lib64\/lib64/lib64/g' ./CMakeFiles/AnalysisSoftware.dir/link.txt
# as the library path is wrong (contains lib64/lib64)

# compile and build
make -j24

# adjust the toolsFolder environment variable
export toolsFolder=$PWD/

# test run the code:
nohup ./AnalysisSoftware python/test_cfg.py &> test.log &

To setup the code using CMSSW:

# on soolin (scientific linux 5 machines)
export SCRAM_ARCH=slc5_amd64_gcc462
cmsrel CMSSW_6_0_0
cd CMSSW_6_0_0/src
cmsenv
# OR on DICE (scientific linux 6 machines)
. $VO_CMS_SW_DIR/cmsset_default.sh # echo $SCRAM_ARCH should now return slc6_amd64_gcc472
cmsrel CMSSW_6_2_12
cd CMSSW_6_2_12/src
cmsenv

# get the code from the repository
git clone https://github.com/BristolTopGroup/AnalysisSoftware.git BristolAnalysis/Tools

# get submodules:
git submodule init && git submodule update

# compile
scram b -j2

hash -r #or rehash in case that BAT cannot be found

# test run the code:
BAT_Tests
nohup BAT BristolAnalysis/Tools/python/test_cfg.py &> test.log &

Eclipse

If you want like to use Eclipse for the development of the code, initial project files are provided in the eclipse/ folder. You can copy them into the main directory (example for OS X):

# in AnalysisSoftware folder
cp eclipse/.project.osx .project
cp eclipse/.cproject.osx .cproject
cp eclipse/.pydevproject.osx .pydevproject

Code Style

A code style prescription is also available in eclipse/Bristol_C++_CodeStyle.xml. You should import it under Preferences->C/C++->Code Style->Formatter

HTCondor

Once the software is set up one can use HTCondor to submit jobs to a cluster. Instructions for this can be found in condor/README.md

Notes

More information can be found at Bristol Analysis Tools twiki page

Bugs

Please report any problems on our issues page.

Run tests

Boost unit tests

Running all tests

make test
# or
./AnalysisSoftware_test --log_level=message

Running a specific test suite:

./AnalysisSoftware_test --log_level=message --run_test=DataTypeTests

Running a specific test:

./AnalysisSoftware_test --log_level=message --run_test=DataTypeTests/NoAmbiguousMappingHard

Python unit tests

Python tests require nose to be installed:

pip install nose --upgrade

You can then run the tests with:

time nosetests -v test/*.py

analysissoftware's People

Contributors

kreczko avatar jjacob avatar senkin avatar emyrclement avatar

Watchers

 avatar

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.