![]() |
![]() |
Fast simulation of near-beam detector acceptance. More...
#include <ProtonTaggerFilter.h>
Public Member Functions | |
virtual void | beginJob () |
startup function of the EDFilter More... | |
virtual void | endJob () |
endjob function of the EDFilter More... | |
bool | filter (edm::Event &e, const edm::EventSetup &c) override |
decide if the event is accepted by the proton taggers More... | |
ProtonTaggerFilter (edm::ParameterSet const &p) | |
default constructor More... | |
~ProtonTaggerFilter () override | |
empty destructor More... | |
![]() | |
EDFilter ()=default | |
bool | hasAbilityToProduceInLumis () const final |
bool | hasAbilityToProduceInRuns () const final |
![]() | |
EDFilterBase () | |
ModuleDescription const & | moduleDescription () const |
~EDFilterBase () override | |
![]() | |
void | callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func) |
std::vector< edm::ProductResolverIndex > const & | indiciesForPutProducts (BranchType iBranchType) const |
ProducerBase () | |
std::vector< edm::ProductResolverIndex > const & | putTokenIndexToProductResolverIndex () const |
void | registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &) |
std::function< void(BranchDescription const &)> | registrationCallback () const |
used by the fwk to register list of products More... | |
void | resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel) |
~ProducerBase () noexcept(false) override | |
![]() | |
std::vector< ConsumesInfo > | consumesInfo () const |
void | convertCurrentProcessAlias (std::string const &processName) |
Convert "@currentProcess" in InputTag process names to the actual current process name. More... | |
EDConsumerBase () | |
EDConsumerBase (EDConsumerBase const &)=delete | |
EDConsumerBase (EDConsumerBase &&)=default | |
ESProxyIndex const * | esGetTokenIndices (edm::Transition iTrans) const |
ProductResolverIndexAndSkipBit | indexFrom (EDGetToken, BranchType, TypeID const &) const |
void | itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
void | itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
std::vector< ProductResolverIndexAndSkipBit > const & | itemsToGetFrom (BranchType iType) const |
void | labelsForToken (EDGetToken iToken, Labels &oLabels) const |
void | modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const |
EDConsumerBase const & | operator= (EDConsumerBase const &)=delete |
EDConsumerBase & | operator= (EDConsumerBase &&)=default |
bool | registeredToConsume (ProductResolverIndex, bool, BranchType) const |
bool | registeredToConsumeMany (TypeID const &, BranchType) const |
ProductResolverIndexAndSkipBit | uncheckedIndexFrom (EDGetToken) const |
void | updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet) |
void | updateLookup (eventsetup::ESRecordsToProxyIndices const &) |
virtual | ~EDConsumerBase () noexcept(false) |
Private Attributes | |
unsigned int | beam1mode |
choose which of the detectors (FP420/TOTEM/both) will be used for beam 1 More... | |
unsigned int | beam2mode |
choose which of the detectors (FP420/TOTEM/both) will be used for beam 2 More... | |
unsigned int | beamCombiningMode |
choose how to combine data from the two beams (ask for 1/2 proton) More... | |
AcceptanceTableHelper | helper220beam1 |
AcceptanceTableHelper | helper220beam2 |
AcceptanceTableHelper | helper420a220beam1 |
AcceptanceTableHelper | helper420a220beam2 |
AcceptanceTableHelper | helper420beam1 |
Objects which actually compute the acceptance (one per detector or combination of detectors) More... | |
AcceptanceTableHelper | helper420beam2 |
Additional Inherited Members | |
![]() | |
typedef CacheContexts< T... > | CacheTypes |
typedef CacheTypes::GlobalCache | GlobalCache |
typedef AbilityChecker< T... > | HasAbility |
typedef CacheTypes::LuminosityBlockCache | LuminosityBlockCache |
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache > | LuminosityBlockContext |
typedef CacheTypes::LuminosityBlockSummaryCache | LuminosityBlockSummaryCache |
typedef CacheTypes::RunCache | RunCache |
typedef RunContextT< RunCache, GlobalCache > | RunContext |
typedef CacheTypes::RunSummaryCache | RunSummaryCache |
![]() | |
typedef EDFilterAdaptorBase | ModuleType |
![]() | |
using | ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >> |
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
![]() | |
typedef ProductLabels | Labels |
![]() | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &descriptions) |
![]() | |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | consumes (TypeToGet const &id, edm::InputTag const &tag) |
ConsumesCollector | consumesCollector () |
Use a ConsumesCollector to gather consumes information from helper functions. More... | |
template<typename ProductType , BranchType B = InEvent> | |
void | consumesMany () |
void | consumesMany (const TypeToGet &id) |
template<BranchType B> | |
void | consumesMany (const TypeToGet &id) |
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> | |
auto | esConsumes () |
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> | |
auto | esConsumes (ESInputTag const &tag) |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | mayConsume (edm::InputTag const &tag) |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
Fast simulation of near-beam detector acceptance.
This class defines an EDFilter which does the following:
Originally this code was meant as the FastTotem module from ORCA-based FAMOS, ported to the CMSSW framework. However it was eventually re-written from scratch. Nevelrtheless, the physics performace is just the same as one of FastTotem, as it (currently) uses the same acceptance tables.
Author: Dmitry Zaborov
Definition at line 34 of file ProtonTaggerFilter.h.
|
explicit |
default constructor
Selection of very forward protons, generated and from pileup, in clockwise and anti-clockwise beam directions. Access to near-beam detector acceptances.
Author: Dmitry Zaborovread (and verify) parameters
Definition at line 33 of file ProtonTaggerFilter.cc.
References beam1mode, beam2mode, beamCombiningMode, MessageLogger_cfi::cerr, gather_cfg::cout, Exception, and edm::ParameterSet::getParameter().
|
override |
|
virtual |
startup function of the EDFilter
initialize detector acceptance table
Definition at line 100 of file ProtonTaggerFilter.cc.
References gather_cfg::cout, f, edm::FileInPath::fullPath(), helper220beam1, helper220beam2, helper420a220beam1, helper420a220beam2, helper420beam1, helper420beam2, AcceptanceTableHelper::Init(), and AlCaHLTBitMon_QueryRunRegistry::string.
|
virtual |
endjob function of the EDFilter
nothing to be done here
Definition at line 132 of file ProtonTaggerFilter.cc.
|
override |
decide if the event is accepted by the proton taggers
Compute the detector acceptances and decide whether to filter the event
Definition at line 137 of file ProtonTaggerFilter.cc.
References beam1mode, beam2mode, beamCombiningMode, gather_cfg::cout, DEFINE_FWK_MODULE, TtDilepEvtSolProducer_cfi::evtSource, genWeightsTable_cfi::genEvent, GenParticle::GenParticle, AcceptanceTableHelper::GetAcceptance(), edm::Event::getByLabel(), edm::HepMCProduct::GetEvent(), helper220beam1, helper220beam2, helper420a220beam1, helper420a220beam2, helper420beam1, helper420beam2, AlCaHLTBitMon_ParallelJobs::p, phi, EnergyCorrector::pt, protons_cff::t, and protons_cff::xi.
Referenced by Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::filter(), Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::find(), Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::setDataAccessor(), and Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::switchCenterView().
|
private |
choose which of the detectors (FP420/TOTEM/both) will be used for beam 1
Definition at line 57 of file ProtonTaggerFilter.h.
Referenced by filter(), and ProtonTaggerFilter().
|
private |
choose which of the detectors (FP420/TOTEM/both) will be used for beam 2
Definition at line 60 of file ProtonTaggerFilter.h.
Referenced by filter(), and ProtonTaggerFilter().
|
private |
choose how to combine data from the two beams (ask for 1/2 proton)
Definition at line 63 of file ProtonTaggerFilter.h.
Referenced by filter(), and ProtonTaggerFilter().
|
private |
Definition at line 68 of file ProtonTaggerFilter.h.
Referenced by beginJob(), and filter().
|
private |
Definition at line 69 of file ProtonTaggerFilter.h.
Referenced by beginJob(), and filter().
|
private |
Definition at line 70 of file ProtonTaggerFilter.h.
Referenced by beginJob(), and filter().
|
private |
Definition at line 71 of file ProtonTaggerFilter.h.
Referenced by beginJob(), and filter().
|
private |
Objects which actually compute the acceptance (one per detector or combination of detectors)
Definition at line 66 of file ProtonTaggerFilter.h.
Referenced by beginJob(), and filter().
|
private |
Definition at line 67 of file ProtonTaggerFilter.h.
Referenced by beginJob(), and filter().