Fork me on GitHub

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 Pavel Demin)

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 Pavel Demin, 10 years ago

Description: modified (diff)

comment:2 by Pavel Demin, 10 years ago

Could you try to run ./configure and then make?

The configure script should add all the new classes to the Makefile.

comment:3 by Pavel Demin, 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+;
Note: See TracTickets for help on using tickets.