Opened 10 years ago
Last modified 10 years ago
#443 new Bug
Delphes doesn't see new (external) classes
Reported by: | Peter Winslow | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | Delphes code | Version: | Delphes 3 |
Keywords: | Cc: |
Description (last modified by )
Hi,
I'm a little new to Delphes and have run into a problem. I've been given a tcl file to facilitate running Delphes on some hepmc events that have been generated by a third party software (Herwig++). The tcl file specifies a number of new classes that are necessary in the "set ExecutionPath" section. Specifically, it requires a class called 'ModifyBeamSpot'. I found the associated .cc and .h files on github and moved them both to the modules folder (other classes that are specified in "set ExecutionPath" section seem to be here as well so it seemed like the logical place for them). I then ran 'make' in the main Delphes folder but it seems as though Delphes still isn't aware of their existence as I keep getting errors of the form
[pwinslow@login01 Delphes]$ ./DelphesHepMC examples/JetStudies_Phase_II_140PileUp_conf4.tcl /home/pwinslow/B3_100k.root /fdata/hepx/store/user/taohuang/Hhh/HH-bbWW-B3_100k.hepmc ** INFO: adding module Merger PileUpJetIDMissingET ** INFO: adding module Merger EFlowChargedMerger ** INFO: adding module RunPUPPI RunPUPPI ** INFO: adding module FastJetFinder PuppiJetFinder ** INFO: adding module FastJetFinder PuppiRho ** INFO: adding module JetPileUpSubtractor PuppiJetPileUpSubtractor ** INFO: adding module PileUpMerger PileUpMerger ** INFO: adding module ModifyBeamSpot ModifyBeamSpot ** INFO: adding module ModifyBeamSpot ModifyBeamSpotNoPU ** INFO: adding module ParticlePropagator ParticlePropagator ** INFO: adding module ParticlePropagator ParticlePropagatorNoPU ** INFO: adding module StatusPidFilter StatusPid ** INFO: adding module GenBeamSpotFilter GenBeamSpotFilter ** INFO: adding module Efficiency ChargedHadronTrackingEfficiency ** INFO: adding module Efficiency ChargedHadronTrackingEfficiencyNoPU ** INFO: adding module Efficiency ElectronTrackingEfficiency ** INFO: adding module Efficiency ElectronTrackingEfficiencyNoPU ** INFO: adding module Efficiency MuonTrackingEfficiency ** INFO: adding module Efficiency MuonTrackingEfficiencyNoPU ** INFO: adding module MomentumSmearing ChargedHadronMomentumSmearing ** INFO: adding module MomentumSmearing ChargedHadronMomentumSmearingNoPU ** INFO: adding module EnergySmearing ElectronEnergySmearing ** INFO: adding module EnergySmearing ElectronEnergySmearingNoPU ** INFO: adding module MomentumSmearing MuonMomentumSmearing ** INFO: adding module MomentumSmearing MuonMomentumSmearingNoPU ** INFO: adding module Merger TrackMerger ** INFO: adding module Merger TrackMergerNoPU ** INFO: adding module Calorimeter Calorimeter ** INFO: adding module Calorimeter CalorimeterNoPU ** INFO: adding module TrackPileUpSubtractor TrackPileUpSubtractor ** INFO: adding module Merger EFlowMerger ** INFO: adding module Merger EFlowMergerNoPU ** INFO: adding module FastJetFinder Rho ** INFO: adding module FastJetFinder GlobalRho ** INFO: adding module FastJetFinder GenJetFinder ** INFO: adding module NeutrinoFilter NeutrinoFilter ** INFO: adding module FastJetFinder GenJetFinderNoNu ** INFO: adding module FastJetFinder FastJetFinder ** INFO: adding module FastJetFinder FastJetFinderNoPU ** INFO: adding module FastJetFinder CAJetFinder ** INFO: adding module ConstituentFilter ConstituentFilter ** INFO: adding module JetPileUpSubtractor JetPileUpSubtractor ** INFO: adding module JetPileUpSubtractor CAJetPileUpSubtractor ** INFO: adding module Efficiency PhotonEfficiency ** INFO: adding module Isolation PhotonIsolation ** INFO: adding module Efficiency ElectronEfficiency ** INFO: adding module Isolation ElectronIsolation ** INFO: adding module Efficiency MuonEfficiency ** INFO: adding module Isolation MuonIsolation ** INFO: adding module Merger MissingET ** INFO: adding module Merger GenMissingET ** INFO: adding module Merger PuppiMissingET ** INFO: adding module Merger ScalarHT ** INFO: adding module BTagging BTaggingLoose ** INFO: adding module BTagging BTaggingMedium ** INFO: adding module BTagging BTaggingTight ** INFO: adding module TrackPileUpSubtractor TrackPVSubtractor ** INFO: adding module IsoTrackFilter IsoTrackFilter ** INFO: adding module TauTagging TauTagging ** INFO: adding module UniqueObjectFinder UniqueObjectFinderGJ ** INFO: adding module UniqueObjectFinder UniqueObjectFinderEJ ** INFO: adding module UniqueObjectFinder UniqueObjectFinderMJ ** INFO: adding module PileUpJetID PileUpJetID ** INFO: adding module TreeWriter TreeWriter ** INFO: initializing module Delphes ** ERROR: can't find class 'ModifyBeamSpot'
I also tried moving the .cc and .h files into the class folder but got the same result. Do you happen to know how to install a new class like this? I'm pretty sure I'll need to know a general method as there are more listed in the tcl file that I can't seem to find in the Delphes distribution folders.
Thanks very much,
Peter
Change History (3)
comment:1 by , 10 years ago
Description: | modified (diff) |
---|
comment:2 by , 10 years ago
comment:3 by , 10 years ago
You need also to edit modules/ModulesLinkDef.h and add the following lines:
#include "modules/ModifyBeamSpot.h" #pragma link C++ class ModifyBeamSpot+;
Could you try to run ./configure and then make?
The configure script should add all the new classes to the Makefile.