51 std::vector<edm::InputTag>
hyps_;
90 verbosity_ (cfg.getParameter<int> (
"verbosity" )),
91 hyps_ (cfg.getParameter<std::vector<edm::InputTag> >(
"hypotheses" )),
92 genEvt_ (cfg.getParameter<edm::InputTag> (
"genEvent" )),
93 decayChnTop1_(cfg.getParameter<int> (
"decayChannel1")),
94 decayChnTop2_(cfg.getParameter<int> (
"decayChannel2"))
97 if( cfg.
exists(
"kinFit") ) {
103 if( cfg.
exists(
"hitFit") ) {
111 if( cfg.
exists(
"kinSolution") ) {
117 if( cfg.
exists(
"genMatch") ) {
123 if( cfg.
exists(
"mvaDisc") ) {
136 template <
typename C>
148 ttEvent.setGenEvent(genEvt);
152 typedef std::vector<edm::InputTag>::const_iterator EventHypo;
153 for(EventHypo
h=hyps_.begin();
h!=hyps_.end(); ++
h){
160 typedef std::vector<TtEvent::HypoCombPair>::const_iterator HypMatch;
161 for(HypMatch hm=hypMatchVec->begin(); hm != hypMatchVec->end(); ++hm){
170 ttEvent.setFitChi2( *fitChi2 );
174 ttEvent.setFitProb( *fitProb );
181 ttEvent.setHitFitChi2( *hitFitChi2 );
185 ttEvent.setHitFitProb( *hitFitProb );
189 ttEvent.setHitFitMT( *hitFitMT );
193 ttEvent.setHitFitSigMT( *hitFitSigMT );
200 ttEvent.setGenMatchSumPt( *sumPt );
204 ttEvent.setGenMatchSumDR( *sumDR );
211 ttEvent.setMvaMethod( *meth );
215 ttEvent.setMvaDiscriminators( *disc );
219 fillSpecific(ttEvent, evt);
222 ttEvent.print(verbosity_);
225 std::auto_ptr<C> pOut(
new C);
256 typedef std::vector<edm::InputTag>::const_iterator EventHypo;
257 for(EventHypo
h=hyps_.begin();
h!=hyps_.end(); ++
h){
263 evt.
getByLabel(
h->label(),
"NumberOfRealNeutrinoSolutions", numberOfRealNeutrinoSolutions);
268 evt.
getByLabel(
h->label(),
"NumberOfConsideredJets", numberOfConsideredJets);
void setWrongCharge(const bool &val)
set right or wrong charge combination of kKinSolution hypothesis
T getParameter(std::string const &) const
HypoClassKey
supported classes of event hypotheses
bool isHypoAvailable(const std::string &key, const unsigned &cmb=0) const
std::vector< edm::InputTag > hyps_
vector of hypothesis class names
virtual void produce(edm::Event &, const edm::EventSetup &)
TtEvtBuilder(const edm::ParameterSet &)
default constructor
edm::InputTag genEvt_
TtGenEvent.
edm::InputTag hitFitProb_
bool exists(std::string const ¶meterName) const
checks if a parameter exists
void setNumberOfRealNeutrinoSolutions(const HypoClassKey &key, const int &nr)
set number of real neutrino solutions for a given hypo class
Class derived from the TtEvent for the semileptonic decay channel.
static double fitChi2(const CachingVertex< 5 > &vtx)
edm::ParameterSet genMatch_
~TtEvtBuilder()
default destructor
Template class to fill the TtEvent structure.
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
virtual void fillSpecific(C &, const edm::Event &)
fill data members that are decay-channel specific
int verbosity_
vebosity level
edm::ParameterSet mvaDisc_
Class derived from the TtEvent for the full leptonic decay channel.
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
void setSolWeight(const std::vector< double > &val)
set weight of kKinSolution hypothesis
edm::ParameterSet kinFit_
edm::InputTag wrongCharge_
edm::ParameterSet kinSolution_
Class derived from the TtEvent for the full hadronic decay channel.
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
edm::InputTag hitFitChi2_
edm::ParameterSet hitFit_
void setNumberOfConsideredJets(const HypoClassKey &key, const unsigned int nJets)
set number of jets considered when building a given hypothesis
edm::InputTag hitFitSigMT_
void setup(std::vector< TH2F > &depth, std::string name, std::string units="")