|
| ZMuMuUserData (const edm::ParameterSet &) |
|
| EDProducer () |
|
SerialTaskQueue * | globalLuminosityBlocksQueue () |
|
SerialTaskQueue * | globalRunsQueue () |
|
ModuleDescription const & | moduleDescription () const |
|
| ~EDProducer () 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 |
|
std::vector< bool > const & | recordProvenanceList () 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) |
|
TypeLabelList const & | typeLabelList () const |
| used by the fwk to register the list of products of this module More...
|
|
| ~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 &&)=default |
|
| EDConsumerBase (EDConsumerBase const &)=delete |
|
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 & | operator= (EDConsumerBase &&)=default |
|
EDConsumerBase const & | operator= (EDConsumerBase const &)=delete |
|
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) |
|
|
static const std::string & | baseType () |
|
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
|
static void | prevalidate (ConfigurationDescriptions &descriptions) |
|
static bool | wantsGlobalLuminosityBlocks () |
|
static bool | wantsGlobalRuns () |
|
static bool | wantsStreamLuminosityBlocks () |
|
static bool | wantsStreamRuns () |
|
template<class ProductType > |
BranchAliasSetterT< ProductType > | produces () |
| declare what type of product will make and with which optional label More...
|
|
template<typename ProductType , BranchType B> |
BranchAliasSetterT< ProductType > | produces () |
|
template<typename ProductType , Transition B> |
BranchAliasSetterT< ProductType > | produces () |
|
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
|
template<BranchType B> |
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
|
template<Transition B> |
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
|
template<typename ProductType , Transition B> |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
|
template<class ProductType > |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
|
template<typename ProductType , BranchType B> |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
|
ProducesCollector | producesCollector () |
|
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
|
template<typename ProductType , BranchType B = InEvent> |
EDGetTokenT< ProductType > | consumes (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) |
|
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
|
template<BranchType B> |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
|
template<typename ProductType , BranchType B = InEvent> |
EDGetTokenT< ProductType > | mayConsume (edm::InputTag const &tag) |
|
Definition at line 29 of file ZMuMuUserData.cc.
I fill the dau1 with positive and dau2 with negatove values for the pt, in order to flag the muons used for building zMassSa
I fill the dau1 with negatove and dau2 with positive values for the pt
Implements edm::EDProducer.
Definition at line 57 of file ZMuMuUserData.cc.
67 bool isMCMatchTrue =
false;
75 unique_ptr<vector<pat::CompositeCandidate> > dimuonColl(
new vector<pat::CompositeCandidate>());
77 for (
unsigned int i = 0;
i <
dimuons->size(); ++
i) {
83 float trueMass, truePt, trueEta, truePhi, trueY;
102 dimuon.addUserFloat(
"TrueMass", trueMass);
103 dimuon.addUserFloat(
"TruePt", truePt);
104 dimuon.addUserFloat(
"TrueEta", trueEta);
105 dimuon.addUserFloat(
"TruePhi", truePhi);
106 dimuon.addUserFloat(
"TrueY", trueY);
119 if (mu1.
isGlobalMuon() ==
true && mu2.isGlobalMuon() ==
true) {
127 float zDau1SaEta = stAloneTrack1->eta();
128 float zDau2SaEta = stAloneTrack2->eta();
129 float zDau1SaPhi = stAloneTrack1->phi();
130 float zDau2SaPhi = stAloneTrack2->phi();
131 float zDau1SaPt, zDau2SaPt;
133 momentum = stAloneTrack1->momentum();
137 zDau1SaPt = stAloneTrack1->pt();
138 zDau2SaPt = -stAloneTrack2->pt();
140 momentum = stAloneTrack2->momentum();
144 zDau1SaPt = -stAloneTrack1->pt();
145 zDau2SaPt = stAloneTrack2->pt();
150 float zMassSa =
mass;
152 dimuon.addUserFloat(
"MassSa", zMassSa);
153 dimuon.addUserFloat(
"Dau1SaPt", zDau1SaPt);
154 dimuon.addUserFloat(
"Dau2SaPt", zDau2SaPt);
155 dimuon.addUserFloat(
"Dau1SaPhi", zDau1SaPhi);
156 dimuon.addUserFloat(
"Dau2SaPhi", zDau2SaPhi);
157 dimuon.addUserFloat(
"Dau1SaEta", zDau1SaEta);
158 dimuon.addUserFloat(
"Dau2SaEta", zDau2SaEta);
161 dimuonColl->push_back(dimuon);
References pat::PATObject< ObjectType >::addUserFloat(), beamSpotToken_, counter, WZMuSkim_cff::dimuons, reco::Candidate::get(), edm::Event::getByToken(), mps_fire::i, reco::Muon::isGlobalMuon(), edm::Ref< C, T, F >::isNonnull(), EgHLTOffHistBins_cfi::mass, reco::Candidate::mass(), reco::Candidate::masterClone(), eostools::move(), mu_mass, reco::Candidate::polarP4(), zMuMuMuonUserData::primaryVertices, primaryVerticesToken_, edm::Event::put(), srcToken_, z, zMuMu_SubskimPathsWithMCTruth_cff::zGenParticlesMatch, and zGenParticlesMatchToken_.