Fork me on GitHub

Opened 8 years ago

Last modified 8 years ago

#1017 new Enhancement

Update Makefile for use as CMSSW External Package

Reported by: Alexx Perloff Owned by:
Priority: minor Milestone:
Component: Delphes code Version: Delphes 3
Keywords: Makefile, CMSSW, External Cc:

Description (last modified by Pavel Demin)

Hello,

I've been using Delphes as an external package for CMSSW. Basically I'm making use of the Delphes classes to access Delphes made ntuples. However, there are some pcm files which aren't being make by default and this is causing annoying error messages (see [1]) when I run CMSSW executables.

I have a suggestion on how to partially fix this problem, which I don't think actually impacts any previous functionality, so it should be a quick fix. That being said, my solution was to edit the Makefile and not the genMakefile.tcl.

My solution was to change:

@rootcint -f $@ -c -Iexternal $<

into:

@rootcint -f $@ -rmf $@.rootmap -rml $@.so -c -Iexternal $<

Does this seem like a reasonable fix? Can it be modified to be put into the genMakefile.tcl and thus get more of the Delphes classes? As I said, this is a partial fix and I wasn't able to do the same for the ExRoot classes, which still cause warnings like in [1].

Cheers,
Alexx

[1]

Error in cling::AutoloadingVisitor::InsertIntoAutoloadingState:
   Missing FileEntry for ExRootAnalysis/ExRootTreeReader.h
   requested to autoload type ExRootTreeReader
Error in cling::AutoloadingVisitor::InsertIntoAutoloadingState:
   Missing FileEntry for ExRootAnalysis/ExRootTreeBranch.h
   requested to autoload type ExRootTreeBranch
Error in cling::AutoloadingVisitor::InsertIntoAutoloadingState:
   Missing FileEntry for ExRootAnalysis/ExRootTreeWriter.h
   requested to autoload type ExRootTreeWriter
Error in cling::AutoloadingVisitor::InsertIntoAutoloadingState:
   Missing FileEntry for ExRootAnalysis/ExRootResult.h
   requested to autoload type ExRootResult

Change History (2)

comment:1 by Pavel Demin, 8 years ago

Hi Alexx,

Could you please provide a list of commands to reproduce the error messages? Do you compile or interpret your code?

I've just tried the following commands:

source /cvmfs/cms.cern.ch/cmsset_default.sh
scram project CMSSW CMSSW_8_0_19
cd CMSSW_8_0_19
wget http://cp3.irmp.ucl.ac.be/downloads/Delphes-3.3.3.tar.gz
tar -zxf Delphes-3.3.3.tar.gz
cd Delphes-3.3.3
cmsenv
export PYTHIA8=/cvmfs/cms.cern.ch/slc6_amd64_gcc530/external/pythia8/212-ikhhed3
export LD_LIBRARY_PATH=$PYTHIA8/lib:$LD_LIBRARY_PATH
make -j 4 HAS_PYTHIA8=true

The .pcm files are generated:

# ls -1 *.pcm
ClassesDict_rdict.pcm
ExRootAnalysisDict_rdict.pcm
FastJetDict_rdict.pcm
ModulesDict_rdict.pcm
Pythia8Dict_rdict.pcm

And I can run the following commands without any error messages:

./DelphesPythia8 cards/delphes_card_CMS.tcl examples/Pythia8/configParticleGun.cmnd delphes_ParticleGun.root
root -l examples/Example1.C'("delphes_ParticleGun.root")'
root -l examples/Example2.C'("delphes_ParticleGun.root")'

The Example*.C macros contain the following lines that load .pcm files:

#ifdef __CLING__
R__LOAD_LIBRARY(libDelphes)
#include "classes/DelphesClasses.h"
#include "external/ExRootAnalysis/ExRootTreeReader.h"
#include "external/ExRootAnalysis/ExRootResult.h"
#endif

Cheers,

Pavel

Last edited 8 years ago by Pavel Demin (previous) (diff)

comment:2 by Pavel Demin, 8 years ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.