Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:23:30

0001 #ifndef PhysicsTools_IsolationAlgos_IsoDepositVetoFactory_h
0002 #define PhysicsTools_IsolationAlgos_IsoDepositVetoFactory_h
0003 
0004 #include "FWCore/Framework/interface/ConsumesCollector.h"
0005 #include "DataFormats/RecoCandidate/interface/IsoDeposit.h"
0006 #include "PhysicsTools/IsolationAlgos/interface/EventDependentAbsVeto.h"
0007 
0008 class IsoDepositVetoFactory {
0009 public:
0010   /// Returns a pointer to an AbsVeto defined by the string.
0011   /// The calling code owns the pointer, and must delete it at the end.
0012   /// An exception will be thrown if the resulting AbsVeto depends on the edm::Event
0013   static reco::isodeposit::AbsVeto *make(const char *string, edm::ConsumesCollector &iC);
0014 
0015   /// As above, but will allow also AbsVetos which depend from the edm::Event
0016   /// If the resulting veto is dependent on the edm::Event, the value of the second pointer will be set to non-zero
0017   /// Note that both pointers will point to the same object, so you have to delete it only once.
0018   static reco::isodeposit::AbsVeto *make(const char *string,
0019                                          reco::isodeposit::EventDependentAbsVeto *&evdep,
0020                                          edm::ConsumesCollector &iC);
0021 };
0022 
0023 #endif