50 produces<std::vector<pat::MET> >();
55 throw cms::Exception(
"Unsupported",
"Reading PSets not supported, for now just use input tag");
59 if( encoded.find(
"%s") != std::string::npos ) {
85 bool isSmeared=baseTagStr.find(
"Smeared")!=(size_t)-1;
89 case pat::MET::JetEnUp : snprintf(buff, 1023, baseTagStr.c_str(),
"JetEnUp");
break;
91 case pat::MET::JetResUp : snprintf(buff, 1023, baseTagStr.c_str(), isSmeared?
"JetResUp":
"");
break;
92 case pat::MET::JetResDown: snprintf(buff, 1023, baseTagStr.c_str(), isSmeared?
"JetResDown":
"");
break;
97 case pat::MET::TauEnUp : snprintf(buff, 1023, baseTagStr.c_str(),
"TauEnUp");
break;
101 default:
throw cms::Exception(
"LogicError",
"OneMETShift constructor called wih bogus shift");
113 if (
src->size() != 1)
throw cms::Exception(
"CorruptData",
"More than one MET in the collection");
115 auto_ptr<vector<pat::MET> >
out(
new vector<pat::MET>(1,
src->front()));
128 if (src->size() != 1)
throw cms::Exception(
"CorruptData",
"More than one MET in the shifted collection");
129 const pat::MET &met2 = src->front();
Analysis-level MET class.
T getParameter(std::string const &) const
bool existsAs(std::string const ¶meterName, bool trackiness=true) const
checks if a parameter exists as a given type
bool getByToken(EDGetToken token, Handle< PROD > &result) const
#define DEFINE_FWK_MODULE(type)
std::vector< MET > METCollection
void readAndSet(const edm::Event &ev, pat::MET &met)
edm::EDGetTokenT< pat::METCollection > token
pat::MET::METUncertainty shift
virtual void produce(edm::Event &iEvent, const edm::EventSetup &iSetup)
void setShift(double px, double py, double sumEt, METUncertainty shift, METUncertaintyLevel level=Type1)
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
void maybeReadShifts(const edm::ParameterSet &basePSet, const std::string &name, pat::MET::METUncertaintyLevel level)
edm::EDGetTokenT< pat::METCollection > src_
pat::MET::METUncertaintyLevel level
virtual double px() const
x coordinate of momentum vector
PATMETSlimmer(const edm::ParameterSet &iConfig)
static unsigned int const shift
std::vector< OneMETShift > shifts_
virtual double py() const
y coordinate of momentum vector