File indexing completed on 2024-04-06 12:24:33
0001 #include "FWCore/Framework/interface/ModuleFactory.h"
0002 #include "FWCore/Framework/interface/MakerMacros.h"
0003
0004 #include "DataFormats/BTauReco/interface/TrackIPTagInfo.h"
0005 #include "DataFormats/BTauReco/interface/SecondaryVertexTagInfo.h"
0006 #include "DataFormats/BTauReco/interface/SoftLeptonTagInfo.h"
0007
0008 #include "RecoBTau/JetTagComputer/interface/JetTagComputerESProducer.h"
0009 #include "RecoBTau/JetTagComputer/interface/GenericMVAJetTagComputerWrapper.h"
0010
0011 #include "RecoBTag/SecondaryVertex/interface/CandidateBoostedDoubleSecondaryVertexComputer.h"
0012 #include "RecoBTag/SecondaryVertex/interface/CombinedSVComputer.h"
0013 #include "RecoBTag/SecondaryVertex/interface/CombinedSVSoftLeptonComputer.h"
0014 #include "RecoBTag/SecondaryVertex/interface/GhostTrackComputer.h"
0015 #include "RecoBTag/SecondaryVertex/interface/CandidateSimpleSecondaryVertexComputer.h"
0016 #include "RecoBTag/SecondaryVertex/interface/SimpleSecondaryVertexComputer.h"
0017
0018 namespace {
0019 extern const char ipTagInfos[] = "ipTagInfos";
0020 extern const char svTagInfos[] = "svTagInfos";
0021 extern const char muonTagInfos[] = "muonTagInfos";
0022 extern const char elecTagInfos[] = "elecTagInfos";
0023 }
0024
0025 typedef GenericMVAJetTagComputerWrapper<CombinedSVComputer,
0026 reco::TrackIPTagInfo,
0027 ipTagInfos,
0028 reco::SecondaryVertexTagInfo,
0029 svTagInfos>
0030 CombinedSVJetTagComputer;
0031
0032 typedef GenericMVAJetTagComputerWrapper<CombinedSVComputer,
0033 reco::CandIPTagInfo,
0034 ipTagInfos,
0035 reco::CandSecondaryVertexTagInfo,
0036 svTagInfos>
0037 CandidateCombinedSVJetTagComputer;
0038
0039
0040 typedef GenericMVAJetTagComputerWrapper<CombinedSVSoftLeptonComputer,
0041 reco::TrackIPTagInfo,
0042 ipTagInfos,
0043 reco::SecondaryVertexTagInfo,
0044 svTagInfos,
0045 reco::CandSoftLeptonTagInfo,
0046 muonTagInfos,
0047 reco::CandSoftLeptonTagInfo,
0048 elecTagInfos>
0049 CombinedSVSoftLeptonJetTagComputer;
0050
0051 typedef GenericMVAJetTagComputerWrapper<CombinedSVSoftLeptonComputer,
0052 reco::CandIPTagInfo,
0053 ipTagInfos,
0054 reco::CandSecondaryVertexTagInfo,
0055 svTagInfos,
0056 reco::CandSoftLeptonTagInfo,
0057 muonTagInfos,
0058 reco::CandSoftLeptonTagInfo,
0059 elecTagInfos>
0060 CandidateCombinedSVSoftLeptonJetTagComputer;
0061
0062 typedef GenericMVAJetTagComputerWrapper<GhostTrackComputer,
0063 reco::TrackIPTagInfo,
0064 ipTagInfos,
0065 reco::SecondaryVertexTagInfo,
0066 svTagInfos>
0067 GhostTrackJetTagComputer;
0068
0069 typedef GenericMVAJetTagComputerWrapper<GhostTrackComputer,
0070 reco::CandIPTagInfo,
0071 ipTagInfos,
0072 reco::CandSecondaryVertexTagInfo,
0073 svTagInfos>
0074 CandidateGhostTrackJetTagComputer;
0075
0076 typedef GenericMVAJetTagComputerWrapper<CombinedSVSoftLeptonComputer,
0077 reco::CandIPTagInfo,
0078 ipTagInfos,
0079 reco::CandSecondaryVertexTagInfo,
0080 svTagInfos,
0081 reco::CandSoftLeptonTagInfo,
0082 muonTagInfos,
0083 reco::CandSoftLeptonTagInfo,
0084 elecTagInfos>
0085 CandidateCombinedSVSoftLeptonJetTagComputer;
0086
0087 typedef JetTagComputerESProducer<CandidateCombinedSVJetTagComputer> CandidateCombinedSecondaryVertexESProducer;
0088 DEFINE_FWK_EVENTSETUP_MODULE(CandidateCombinedSecondaryVertexESProducer);
0089
0090 typedef JetTagComputerESProducer<CombinedSVJetTagComputer> CombinedSecondaryVertexESProducer;
0091 DEFINE_FWK_EVENTSETUP_MODULE(CombinedSecondaryVertexESProducer);
0092
0093 typedef JetTagComputerESProducer<CandidateCombinedSVSoftLeptonJetTagComputer>
0094 CandidateCombinedSecondaryVertexSoftLeptonESProducer;
0095 DEFINE_FWK_EVENTSETUP_MODULE(CandidateCombinedSecondaryVertexSoftLeptonESProducer);
0096
0097 typedef JetTagComputerESProducer<CombinedSVSoftLeptonJetTagComputer> CombinedSecondaryVertexSoftLeptonESProducer;
0098 DEFINE_FWK_EVENTSETUP_MODULE(CombinedSecondaryVertexSoftLeptonESProducer);
0099
0100 typedef JetTagComputerESProducer<GhostTrackJetTagComputer> GhostTrackESProducer;
0101 DEFINE_FWK_EVENTSETUP_MODULE(GhostTrackESProducer);
0102
0103 typedef JetTagComputerESProducer<CandidateGhostTrackJetTagComputer> CandidateGhostTrackESProducer;
0104 DEFINE_FWK_EVENTSETUP_MODULE(CandidateGhostTrackESProducer);
0105
0106 typedef JetTagComputerESProducer<CandidateSimpleSecondaryVertexComputer> CandidateSimpleSecondaryVertexESProducer;
0107 DEFINE_FWK_EVENTSETUP_MODULE(CandidateSimpleSecondaryVertexESProducer);
0108
0109 typedef JetTagComputerESProducer<SimpleSecondaryVertexComputer> SimpleSecondaryVertexESProducer;
0110 DEFINE_FWK_EVENTSETUP_MODULE(SimpleSecondaryVertexESProducer);
0111
0112 typedef JetTagComputerESProducer<CandidateCombinedSVSoftLeptonJetTagComputer>
0113 CandidateCombinedSecondaryVertexSoftLeptonCvsLESProducer;
0114 DEFINE_FWK_EVENTSETUP_MODULE(CandidateCombinedSecondaryVertexSoftLeptonCvsLESProducer);
0115
0116 typedef JetTagComputerESProducer<CandidateBoostedDoubleSecondaryVertexComputer>
0117 CandidateBoostedDoubleSecondaryVertexESProducer;
0118 DEFINE_FWK_EVENTSETUP_MODULE(CandidateBoostedDoubleSecondaryVertexESProducer);