44 inputTagConvBremGsfRecTracks_
53 inputTagPFConversions_
59 inputTagPFClustersECAL_
62 inputTagPFClustersHCAL_
65 inputTagPFClustersHFEM_
68 inputTagPFClustersHFHAD_
86 useConversions_ = iConfig.
getParameter<
bool>(
"useConversions");
88 useConvBremGsfTracks_ = iConfig.
getParameter<
bool>(
"useConvBremGsfTracks");
94 produces<reco::PFBlockCollection>();
100 std::vector<double> DPtovPtCut
101 = iConfig.
getParameter<std::vector<double> >(
"pf_DPtoverPt_Cut");
103 std::vector<unsigned> NHitCut
104 = iConfig.
getParameter<std::vector<unsigned> >(
"pf_NHit_Cut");
110 = iConfig.
getParameter<
unsigned>(
"nuclearInteractionsPurity");
113 if (nuclearInteractionsPurity > 3 || nuclearInteractionsPurity < 1) {
114 nuclearInteractionsPurity = 1;
115 edm::LogInfo(
"PFBlockProducer") <<
"NI purity not properly implemented. Set it to the strongest level " << nuclearInteractionsPurity << endl;
117 vector<string> securityLevel;
118 securityLevel.push_back(
"isNucl"); securityLevel.push_back(
"isNucl && isNuclLoose"); securityLevel.push_back(
"isNucl && isNuclLoose && isNuclKink");
119 edm::LogInfo(
"PFBlockProducer") <<
"NI interactions are corrected in PFlow for " << securityLevel[nuclearInteractionsPurity-1].c_str() << endl;
123 pfBlockAlgo_.setParameters( DPtovPtCut,
125 useConvBremPFRecTracks,
127 nuclearInteractionsPurity);
129 pfBlockAlgo_.setDebug(debug_);
152 <<
" in run "<<iEvent.
id().
run()<<endl;
163 LogError(
"PFBlockProducer")<<
" cannot get rectracks: "
164 <<inputTagRecTracks_<<endl;
172 found = iEvent.
getByLabel(inputTagGsfRecTracks_,GsfrecTracks);
175 LogError(
"PFBlockProducer")<<
" cannot get Gsfrectracks: "
176 << inputTagGsfRecTracks_ <<endl;
182 if(useConvBremGsfTracks_) {
183 found = iEvent.
getByLabel(inputTagConvBremGsfRecTracks_,convBremGsfrecTracks);
186 LogError(
"PFBlockProducer")<<
" cannot get ConvBremGsfrectracks: "
187 << inputTagConvBremGsfRecTracks_ <<endl;
195 found = iEvent.
getByLabel(inputTagRecMuons_, recMuons);
209 found = iEvent.
getByLabel(inputTagPFNuclear_, pfNuclears);
211 LogError(
"PFBlockProducer")<<
" cannot get PFNuclearInteractions : "
212 <<inputTagPFNuclear_<<endl;
220 if( useConversions_ ) {
221 found = iEvent.
getByLabel(inputTagPFConversions_, pfConversions);
224 LogError(
"PFBlockProducer")<<
" cannot get PFConversions : "
225 <<inputTagPFConversions_<<endl;
232 found = iEvent.
getByLabel(inputTagPFV0_, pfV0);
235 LogError(
"PFBlockProducer")<<
" cannot get PFV0 : "
236 <<inputTagPFV0_<<endl;
245 found = iEvent.
getByLabel(inputTagPFClustersECAL_,
248 LogError(
"PFBlockProducer")<<
" cannot get ECAL clusters: "
249 <<inputTagPFClustersECAL_<<endl;
253 found = iEvent.
getByLabel(inputTagPFClustersHCAL_,
256 LogError(
"PFBlockProducer")<<
" cannot get HCAL clusters: "
257 <<inputTagPFClustersHCAL_<<endl;
260 found = iEvent.
getByLabel(inputTagPFClustersHFEM_,
263 LogError(
"PFBlockProducer")<<
" cannot get HFEM clusters: "
264 <<inputTagPFClustersHFEM_<<endl;
267 found = iEvent.
getByLabel(inputTagPFClustersHFHAD_,
270 LogError(
"PFBlockProducer")<<
" cannot get HFHAD clusters: "
271 <<inputTagPFClustersHFHAD_<<endl;
275 found = iEvent.
getByLabel(inputTagPFClustersPS_,
278 LogError(
"PFBlockProducer")<<
" cannot get PS clusters: "
279 <<inputTagPFClustersPS_<<endl;
284 pfBlockAlgo_.setInput( recTracks,
291 pfBlockAlgo_.setInput( recTracks,
293 convBremGsfrecTracks,
305 pfBlockAlgo_.findBlocks();
309 str<<pfBlockAlgo_<<endl;
310 LogInfo(
"PFBlockProducer") << str.str()<<endl;
313 auto_ptr< reco::PFBlockCollection >
314 pOutputBlockCollection( pfBlockAlgo_.transferBlocks() );
317 iEvent.
put(pOutputBlockCollection);
320 <<
" in run "<<iEvent.
id().
run()<<endl;
T getParameter(std::string const &) const
EventNumber_t event() const
T getUntrackedParameter(std::string const &, T const &) const
PFBlockProducer(const edm::ParameterSet &)
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
tuple nuclearInteractionsPurity
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
virtual void beginRun(edm::Run &r, const edm::EventSetup &c)
virtual void produce(edm::Event &, const edm::EventSetup &)
tuple useConvBremPFRecTracks