Skip to content

Commit

Permalink
Merge pull request #809 from cms-analysis/lcgportability
Browse files Browse the repository at this point in the history
Fixup recipe for LCG-based standalone environment
  • Loading branch information
kcormi authored Jul 3, 2023
2 parents 7414242 + 7db7322 commit 131cb29
Show file tree
Hide file tree
Showing 4 changed files with 74 additions and 70 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ $(OBJ_DIR):
@mkdir -p $(OBJ_DIR)/a

$(OBJ_DIR)/a/$(DICTNAME).cc: $(SRC_DIR)/classes_def.xml | $(OBJ_DIR)
genreflex $(SRC_DIR)/classes.h -s $< -o $@ --deep --fail_on_warnings --rootmap=$(OBJ_DIR)/a/$(DICTNAME).rootmap --rootmap-lib=$(SONAME) -I$(PARENT_DIR)
genreflex $(SRC_DIR)/classes.h -s $< -o $@ --deep --fail_on_warnings --rootmap=$(OBJ_DIR)/a/$(DICTNAME).rootmap --rootmap-lib=$(SONAME) -Isrc
mv $(OBJ_DIR)/a/$(DICTNAME).rootmap $(LIB_DIR)/
mv $(OBJ_DIR)/a/$(DICTNAME)_rdict.pcm $(LIB_DIR)/

Expand Down
4 changes: 2 additions & 2 deletions bin/PerfTest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
#include "RooMsgService.h"
#include <dlfcn.h>
#include <RooStats/ModelConfig.h>
#include "HiggsAnalysis/CombinedLimit/interface/CachingNLL.h"
#include "HiggsAnalysis/CombinedLimit/interface/ProfilingTools.h"
#include "../interface/CachingNLL.h"
#include "../interface/ProfilingTools.h"

void (*dump_)(const char *);

Expand Down
10 changes: 7 additions & 3 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -117,14 +117,18 @@ make -j 4
You will need to source `env_standalone.sh` each time you want to use the package, or add it to your login.

### Standalone compilation with LCG
LCG102 contains ROOT 6.26, which at the time of writing is not available in any CMSSW release.
This repo can be compiled against LCG102 with:
```
For compilation outside of CMSSW, for example to use ROOT versions not yet available in CMSSW, one can compile against LCG releases. The current default is to compile with LCG_102 which contains ROOT 6.26:
```sh
git clone https://github.com/cms-analysis/HiggsAnalysis-CombinedLimit.git HiggsAnalysis/CombinedLimit
cd HiggsAnalysis/CombinedLimit
source env_lcg.sh
make LCG=1 -j 8
```
To change the LCG version, edit `env_lcg.sh`. The resulting binaries can be relocated (e.g. for use in a
batch job) if the following files are included in the job tarball:
```sh
tar -zcf Combine_LCG_env.tar.gz build interface src/classes.h --exclude=obj
```

### Standalone compilation with `conda`
This recipe will work both for linux and MacOS
Expand Down
128 changes: 64 additions & 64 deletions src/classes.h
Original file line number Diff line number Diff line change
@@ -1,68 +1,68 @@
#include "HiggsAnalysis/CombinedLimit/interface/TestProposal.h"
#include "HiggsAnalysis/CombinedLimit/interface/DebugProposal.h"
#include "HiggsAnalysis/CombinedLimit/interface/VerticalInterpPdf.h"
#include "HiggsAnalysis/CombinedLimit/interface/VerticalInterpHistPdf.h"
#include "HiggsAnalysis/CombinedLimit/interface/AsymPow.h"
#include "HiggsAnalysis/CombinedLimit/interface/AsymQuad.h"
#include "HiggsAnalysis/CombinedLimit/interface/CombDataSetFactory.h"
#include "HiggsAnalysis/CombinedLimit/interface/TH1Keys.h"
#include "HiggsAnalysis/CombinedLimit/interface/RooSimultaneousOpt.h"
#include "HiggsAnalysis/CombinedLimit/interface/SimpleCacheSentry.h"
#include "HiggsAnalysis/CombinedLimit/interface/th1fmorph.h"
#include "HiggsAnalysis/CombinedLimit/interface/HZZ4L_RooCTauPdf_1D.h"
#include "HiggsAnalysis/CombinedLimit/interface/HZZ4L_RooCTauPdf_1D_Expanded.h"
#include "HiggsAnalysis/CombinedLimit/interface/HZZ4L_RooCTauPdf_2D.h"
#include "HiggsAnalysis/CombinedLimit/interface/HZZ4LRooPdfs.h"
#include "HiggsAnalysis/CombinedLimit/interface/HWWLVJRooPdfs.h"
#include "HiggsAnalysis/CombinedLimit/interface/HZZ2L2QRooPdfs.h"
#include "HiggsAnalysis/CombinedLimit/interface/HGGRooPdfs.h"
#include "HiggsAnalysis/CombinedLimit/interface/HZGRooPdfs.h"
#include "HiggsAnalysis/CombinedLimit/interface/SequentialMinimizer.h"
#include "HiggsAnalysis/CombinedLimit/interface/ProcessNormalization.h"
#include "HiggsAnalysis/CombinedLimit/interface/RooRealFlooredSumPdf.h"
#include "HiggsAnalysis/CombinedLimit/interface/RooSpline1D.h"
#include "HiggsAnalysis/CombinedLimit/interface/RooSplineND.h"
#include "HiggsAnalysis/CombinedLimit/interface/RooScaleLOSM.h"
#include "HiggsAnalysis/CombinedLimit/interface/RooMultiPdf.h"
#include "HiggsAnalysis/CombinedLimit/interface/RooBernsteinFast.h"
#include "HiggsAnalysis/CombinedLimit/interface/SimpleGaussianConstraint.h"
#include "HiggsAnalysis/CombinedLimit/interface/SimplePoissonConstraint.h"
#include "HiggsAnalysis/CombinedLimit/interface/SimpleConstraintGroup.h"
#include "HiggsAnalysis/CombinedLimit/interface/AtlasPdfs.h"
#include "HiggsAnalysis/CombinedLimit/interface/FastTemplateFunc.h"
#include "HiggsAnalysis/CombinedLimit/interface/HZZ4L_RooSpinZeroPdf.h"
#include "HiggsAnalysis/CombinedLimit/interface/HZZ4L_RooSpinZeroPdf_1D.h"
#include "HiggsAnalysis/CombinedLimit/interface/HZZ4L_RooSpinZeroPdf_2D.h"
#include "HiggsAnalysis/CombinedLimit/interface/HZZ4L_RooSpinZeroPdf_phase.h"
#include "HiggsAnalysis/CombinedLimit/interface/VBFHZZ4L_RooSpinZeroPdf.h"
#include "HiggsAnalysis/CombinedLimit/interface/VBFHZZ4L_RooSpinZeroPdf_fast.h"
#include "../interface/TestProposal.h"
#include "../interface/DebugProposal.h"
#include "../interface/VerticalInterpPdf.h"
#include "../interface/VerticalInterpHistPdf.h"
#include "../interface/AsymPow.h"
#include "../interface/AsymQuad.h"
#include "../interface/CombDataSetFactory.h"
#include "../interface/TH1Keys.h"
#include "../interface/RooSimultaneousOpt.h"
#include "../interface/SimpleCacheSentry.h"
#include "../interface/th1fmorph.h"
#include "../interface/HZZ4L_RooCTauPdf_1D.h"
#include "../interface/HZZ4L_RooCTauPdf_1D_Expanded.h"
#include "../interface/HZZ4L_RooCTauPdf_2D.h"
#include "../interface/HZZ4LRooPdfs.h"
#include "../interface/HWWLVJRooPdfs.h"
#include "../interface/HZZ2L2QRooPdfs.h"
#include "../interface/HGGRooPdfs.h"
#include "../interface/HZGRooPdfs.h"
#include "../interface/SequentialMinimizer.h"
#include "../interface/ProcessNormalization.h"
#include "../interface/RooRealFlooredSumPdf.h"
#include "../interface/RooSpline1D.h"
#include "../interface/RooSplineND.h"
#include "../interface/RooScaleLOSM.h"
#include "../interface/RooMultiPdf.h"
#include "../interface/RooBernsteinFast.h"
#include "../interface/SimpleGaussianConstraint.h"
#include "../interface/SimplePoissonConstraint.h"
#include "../interface/SimpleConstraintGroup.h"
#include "../interface/AtlasPdfs.h"
#include "../interface/FastTemplateFunc.h"
#include "../interface/HZZ4L_RooSpinZeroPdf.h"
#include "../interface/HZZ4L_RooSpinZeroPdf_1D.h"
#include "../interface/HZZ4L_RooSpinZeroPdf_2D.h"
#include "../interface/HZZ4L_RooSpinZeroPdf_phase.h"
#include "../interface/VBFHZZ4L_RooSpinZeroPdf.h"
#include "../interface/VBFHZZ4L_RooSpinZeroPdf_fast.h"

#include "HiggsAnalysis/CombinedLimit/interface/HZZ4L_RooSpinZeroPdf_1D_fast.h"
#include "HiggsAnalysis/CombinedLimit/interface/HZZ4L_RooSpinZeroPdf_2D_fast.h"
#include "HiggsAnalysis/CombinedLimit/interface/HZZ4L_RooSpinZeroPdf_phase_fast.h"
#include "HiggsAnalysis/CombinedLimit/interface/VVHZZ4L_RooSpinZeroPdf_1D_fast.h"
#include "../interface/HZZ4L_RooSpinZeroPdf_1D_fast.h"
#include "../interface/HZZ4L_RooSpinZeroPdf_2D_fast.h"
#include "../interface/HZZ4L_RooSpinZeroPdf_phase_fast.h"
#include "../interface/VVHZZ4L_RooSpinZeroPdf_1D_fast.h"

#include "HiggsAnalysis/CombinedLimit/interface/HWWLVJJRooPdfs.h"
#include "HiggsAnalysis/CombinedLimit/interface/RooMorphingPdf.h"
#include "HiggsAnalysis/CombinedLimit/interface/RooParametricHist.h"
#include "HiggsAnalysis/CombinedLimit/interface/RooParametricHist2D.h"
#include "HiggsAnalysis/CombinedLimit/interface/RooParametricShapeBinPdf.h"
#include "HiggsAnalysis/CombinedLimit/interface/GaussExp.h"
#include "HiggsAnalysis/CombinedLimit/interface/RooDoubleCBFast.h"
#include "HiggsAnalysis/CombinedLimit/interface/CMSHistFunc.h"
#include "HiggsAnalysis/CombinedLimit/interface/CMSHistErrorPropagator.h"
#include "HiggsAnalysis/CombinedLimit/interface/CMSHistSum.h"
#include "HiggsAnalysis/CombinedLimit/interface/CMSHistFuncWrapper.h"
#include "HiggsAnalysis/CombinedLimit/interface/RooTaylorExpansion.h"
#include "HiggsAnalysis/CombinedLimit/interface/SimpleTaylorExpansion1D.h"
#include "../interface/HWWLVJJRooPdfs.h"
#include "../interface/RooMorphingPdf.h"
#include "../interface/RooParametricHist.h"
#include "../interface/RooParametricHist2D.h"
#include "../interface/RooParametricShapeBinPdf.h"
#include "../interface/GaussExp.h"
#include "../interface/RooDoubleCBFast.h"
#include "../interface/CMSHistFunc.h"
#include "../interface/CMSHistErrorPropagator.h"
#include "../interface/CMSHistSum.h"
#include "../interface/CMSHistFuncWrapper.h"
#include "../interface/RooTaylorExpansion.h"
#include "../interface/SimpleTaylorExpansion1D.h"

#include "HiggsAnalysis/CombinedLimit/interface/RooPiecewisePolynomial.h"
#include "../interface/RooPiecewisePolynomial.h"

#include "HiggsAnalysis/CombinedLimit/interface/RooNCSplineCore.h"
#include "HiggsAnalysis/CombinedLimit/interface/RooNCSpline_1D_fast.h"
#include "HiggsAnalysis/CombinedLimit/interface/RooNCSpline_2D_fast.h"
#include "HiggsAnalysis/CombinedLimit/interface/RooNCSpline_3D_fast.h"
#include "HiggsAnalysis/CombinedLimit/interface/RooFuncPdf.h"
#include "HiggsAnalysis/CombinedLimit/interface/RooCheapProduct.h"
#include "HiggsAnalysis/CombinedLimit/interface/CMSHggFormula.h"
#include "HiggsAnalysis/CombinedLimit/interface/SimpleProdPdf.h"
#include "../interface/RooNCSplineCore.h"
#include "../interface/RooNCSpline_1D_fast.h"
#include "../interface/RooNCSpline_2D_fast.h"
#include "../interface/RooNCSpline_3D_fast.h"
#include "../interface/RooFuncPdf.h"
#include "../interface/RooCheapProduct.h"
#include "../interface/CMSHggFormula.h"
#include "../interface/SimpleProdPdf.h"

0 comments on commit 131cb29

Please sign in to comment.