CMS 3D CMS Logo

RecAnalyzerHF.cc
Go to the documentation of this file.
1 // system include files
2 #include <memory>
3 #include <string>
4 #include <iostream>
5 #include <fstream>
6 #include <sstream>
7 #include <vector>
8 #include <map>
9 
10 // user include files
31 
33 
34 #include "TH1D.h"
35 #include "TTree.h"
36 
37 //#define EDM_ML_DEBUG
38 
39 // class declaration
40 class RecAnalyzerHF : public edm::one::EDAnalyzer<edm::one::SharedResources> {
41 public:
42  explicit RecAnalyzerHF(const edm::ParameterSet&);
43  ~RecAnalyzerHF() override;
44 
45  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
46 
47 private:
48  void analyze(edm::Event const&, edm::EventSetup const&) override;
49  void beginJob() override;
50  void endJob() override;
51 
52 private:
53  void analyzeHcal(const HFPreRecHitCollection&, int, bool);
54 
55  // ----------member data ---------------------------
58  double eLowHF_, eHighHF_;
59  std::vector<unsigned int> hcalID_;
60  TTree* myTree_;
61  TH1D* hist_[2];
62  std::vector<std::pair<TH1D*, TH1D*>> histo_;
63  std::vector<int> trigbit_;
64  double rnnum_;
65  struct myInfo {
66  double kount, f11, f12, f13, f14, f21, f22, f23, f24, runcheck;
67  myInfo() { kount = f11 = f12 = f13 = f14 = f21 = f22 = f23 = f24 = runcheck = 0; }
68  };
69  // Root tree members
70  double rnnumber;
74  std::map<std::pair<int, HcalDetId>, myInfo> myMap_;
77 };
78 
79 // constructors and destructor
81  usesResource("TFileService");
82  // get name of output file with histogramms
83  nzs_ = iConfig.getParameter<bool>("RunNZS");
84  noise_ = iConfig.getParameter<bool>("Noise");
85  ratio_ = iConfig.getParameter<bool>("Ratio");
86  eLowHF_ = iConfig.getParameter<double>("ELowHF");
87  eHighHF_ = iConfig.getParameter<double>("EHighHF");
88  trigbit_ = iConfig.getUntrackedParameter<std::vector<int>>("TriggerBits");
89  ignoreL1_ = iConfig.getUntrackedParameter<bool>("IgnoreL1", false);
90  fillTree_ = iConfig.getUntrackedParameter<bool>("FillTree", true);
91  std::vector<int> ieta = iConfig.getUntrackedParameter<std::vector<int>>("HcalIeta");
92  std::vector<int> iphi = iConfig.getUntrackedParameter<std::vector<int>>("HcalIphi");
93  std::vector<int> depth = iConfig.getUntrackedParameter<std::vector<int>>("HcalDepth");
94 
95  // get token names of modules, producing object collections
96  tok_hfreco_ = consumes<HFPreRecHitCollection>(iConfig.getParameter<edm::InputTag>("hfInput"));
97  tok_hltL1GtMap_ = consumes<L1GlobalTriggerObjectMapRecord>(edm::InputTag("hltL1GtObjectMap"));
98 
99  edm::LogVerbatim("RecAnalyzer") << " Flags (IgnoreL1): " << ignoreL1_ << " (NZS) " << nzs_ << " (Noise) " << noise_
100  << " (Ratio) " << ratio_;
101  edm::LogVerbatim("RecAnalyzer") << "Thresholds for HF " << eLowHF_ << ":" << eHighHF_;
102  for (unsigned int k = 0; k < ieta.size(); ++k) {
103  if (std::abs(ieta[k]) >= 29) {
104  unsigned int id = (HcalDetId(HcalForward, ieta[k], iphi[k], depth[k])).rawId();
105  hcalID_.push_back(id);
106  edm::LogVerbatim("RecAnalyzer") << "DetId[" << k << "] " << HcalDetId(id);
107  }
108  }
109  edm::LogVerbatim("RecAnalyzer") << "Select on " << trigbit_.size() << " L1 Trigger selection";
110  unsigned int k(0);
111  for (auto trig : trigbit_) {
112  edm::LogVerbatim("RecAnalyzer") << "Bit[" << k << "] " << trig;
113  ++k;
114  }
115 }
116 
118 
119 // ------------ method fills 'descriptions' with the allowed parameters for the module ------------
122  desc.add<bool>("RunNZS", true);
123  desc.add<bool>("Noise", false);
124  desc.add<bool>("Ratio", false);
125  desc.add<double>("ELowHF", 10);
126  desc.add<double>("EHighHF", 150);
127  std::vector<int> idummy;
128  desc.addUntracked<std::vector<int>>("TriggerBits", idummy);
129  desc.addUntracked<bool>("IgnoreL1", false);
130  desc.addUntracked<bool>("FillHisto", false);
131  desc.addUntracked<std::vector<int>>("HcalIeta", idummy);
132  desc.addUntracked<std::vector<int>>("HcalIphi", idummy);
133  desc.addUntracked<std::vector<int>>("HcalDepth", idummy);
134  desc.add<edm::InputTag>("hfInput", edm::InputTag("hfprereco"));
135  descriptions.add("recAnalyzerHF", desc);
136 }
137 
139  char name[700], title[700];
140  double xmin(-10.0), xmax(90.0);
141  if (ratio_) {
142  xmin = -5.0;
143  xmax = 5.0;
144  }
145  for (int i = 0; i < 2; ++i) {
146  sprintf(name, "HF%d", i);
147  sprintf(title, "The metric F%d for HF", i + 1);
148  hist_[i] = fs_->make<TH1D>(name, title, 50, xmin, xmax);
149  }
150 
151  for (const auto& id : hcalID_) {
152  HcalDetId hid = HcalDetId(id);
153  TH1D *h1(nullptr), *h2(nullptr);
154  for (int i = 0; i < 2; ++i) {
155  sprintf(name, "HF%d%d_%d_%d", i, hid.ieta(), hid.iphi(), hid.depth());
156  sprintf(title, "The metric F%d for HF i#eta %d i#phi %d depth %d", i + 1, hid.ieta(), hid.iphi(), hid.depth());
157  if (i == 0)
158  h1 = fs_->make<TH1D>(name, title, 50, xmin, xmax);
159  else
160  h2 = fs_->make<TH1D>(name, title, 50, xmin, xmax);
161  }
162  histo_.push_back(std::pair<TH1D*, TH1D*>(h1, h2));
163  };
164 
165  if (fillTree_) {
166  myTree_ = fs_->make<TTree>("RecJet", "RecJet Tree");
167  myTree_->Branch("cells", &cells, "cells/I");
168  myTree_->Branch("mysubd", &mysubd, "mysubd/I");
169  myTree_->Branch("depth", &depth, "depth/I");
170  myTree_->Branch("ieta", &ieta, "ieta/I");
171  myTree_->Branch("iphi", &iphi, "iphi/I");
172  myTree_->Branch("mom0_F1", &mom0_F1, "mom0_F1/F");
173  myTree_->Branch("mom1_F1", &mom1_F1, "mom1_F1/F");
174  myTree_->Branch("mom2_F1", &mom2_F1, "mom2_F1/F");
175  myTree_->Branch("mom3_F1", &mom3_F1, "mom3_F1/F");
176  myTree_->Branch("mom4_F1", &mom4_F1, "mom4_F1/F");
177  myTree_->Branch("mom0_F2", &mom0_F2, "mom0_F2/F");
178  myTree_->Branch("mom1_F2", &mom1_F2, "mom1_F2/F");
179  myTree_->Branch("mom2_F2", &mom2_F2, "mom2_F2/F");
180  myTree_->Branch("mom3_F2", &mom3_F2, "mom3_F2/F");
181  myTree_->Branch("mom4_F2", &mom4_F2, "mom4_F2/F");
182  myTree_->Branch("trigbit", &trigbit, "trigbit/I");
183  myTree_->Branch("rnnumber", &rnnumber, "rnnumber/D");
184  }
185 
186  myMap_.clear();
187 }
188 
190  if (fillTree_) {
191  cells = 0;
192  for (const auto& itr : myMap_) {
193  edm::LogVerbatim("RecAnalyzer") << "Fired trigger bit number " << itr.first.first;
194  myInfo info = itr.second;
195  if (info.kount > 0) {
196  mom0_F1 = info.kount;
197  mom1_F1 = info.f11;
198  mom2_F1 = info.f12;
199  mom3_F1 = info.f13;
200  mom4_F1 = info.f14;
201  mom0_F2 = info.kount;
202  mom1_F2 = info.f21;
203  mom2_F2 = info.f22;
204  mom3_F2 = info.f23;
205  mom4_F2 = info.f24;
206  rnnumber = info.runcheck;
207  trigbit = itr.first.first;
208  mysubd = itr.first.second.subdet();
209  depth = itr.first.second.depth();
210  iphi = itr.first.second.iphi();
211  ieta = itr.first.second.ieta();
212  edm::LogVerbatim("RecAnalyzer") << " Result= " << trigbit << " " << mysubd << " " << ieta << " " << iphi
213  << " F1:mom0 " << mom0_F1 << " mom1 " << mom1_F1 << " mom2 " << mom2_F1
214  << " mom3 " << mom3_F1 << " mom4 " << mom4_F1 << " F2:mom0 " << mom0_F2
215  << " mom1 " << mom1_F2 << " mom2 " << mom2_F2 << " mom3 " << mom3_F2 << " mom4 "
216  << mom4_F2;
217  myTree_->Fill();
218  cells++;
219  }
220  }
221  edm::LogVerbatim("RecAnalyzer") << "cells"
222  << " " << cells;
223  }
224 #ifdef EDM_ML_DEBUG
225  edm::LogVerbatim("RecAnalyzer") << "Exiting from RecAnalyzerHF::endjob";
226 #endif
227 }
228 
229 //
230 // member functions
231 //
232 // ------------ method called to produce the data ------------
233 
235  rnnum_ = (double)iEvent.run();
236 
238  iEvent.getByToken(tok_hfreco_, hf);
239  if (!hf.isValid()) {
240  edm::LogWarning("RecAnalyzer") << "HcalCalibAlgos: Error! can't get hf product!";
241  return;
242  }
243  const HFPreRecHitCollection Hithf = *(hf.product());
244  edm::LogVerbatim("RecAnalyzer") << "HF MB size of collection " << Hithf.size();
245  if (Hithf.size() < 1700 && nzs_) {
246  edm::LogWarning("RecAnalyzer") << "HF problem " << rnnum_ << " size " << Hithf.size();
247  }
248 
249  bool select(false);
250  if (!trigbit_.empty()) {
252  iEvent.getByToken(tok_hltL1GtMap_, gtObjectMapRecord);
253  if (gtObjectMapRecord.isValid()) {
254  const std::vector<L1GlobalTriggerObjectMap>& objMapVec = gtObjectMapRecord->gtObjectMap();
255  for (std::vector<L1GlobalTriggerObjectMap>::const_iterator itMap = objMapVec.begin(); itMap != objMapVec.end();
256  ++itMap) {
257  bool resultGt = (*itMap).algoGtlResult();
258  if (resultGt) {
259  int algoBit = (*itMap).algoBitNumber();
260  if (std::find(trigbit_.begin(), trigbit_.end(), algoBit) != trigbit_.end()) {
261  select = true;
262  break;
263  }
264  }
265  }
266  }
267  }
268 
269  //event weight for FLAT sample and PU information
270 
271  if (ignoreL1_ || (!trigbit_.empty() && select)) {
272  analyzeHcal(Hithf, 1, true);
273  } else if ((!ignoreL1_) && (trigbit_.empty())) {
275  iEvent.getByToken(tok_hltL1GtMap_, gtObjectMapRecord);
276  if (gtObjectMapRecord.isValid()) {
277  const std::vector<L1GlobalTriggerObjectMap>& objMapVec = gtObjectMapRecord->gtObjectMap();
278  bool ok(false);
279  for (std::vector<L1GlobalTriggerObjectMap>::const_iterator itMap = objMapVec.begin(); itMap != objMapVec.end();
280  ++itMap) {
281  bool resultGt = (*itMap).algoGtlResult();
282  if (resultGt) {
283  int algoBit = (*itMap).algoBitNumber();
284  analyzeHcal(Hithf, algoBit, (!ok));
285  ok = true;
286  }
287  }
288  if (!ok) {
289  edm::LogVerbatim("RecAnalyzer") << "No passed L1 Trigger found";
290  }
291  }
292  }
293 }
294 
295 void RecAnalyzerHF::analyzeHcal(const HFPreRecHitCollection& Hithf, int algoBit, bool fill) {
296 #ifdef EDM_ML_DEBUG
297  edm::LogVerbatim("RecAnalyzer") << "Enter analyzeHcal for bit " << algoBit << " Fill " << fill << " Collection size "
298  << Hithf.size();
299 #endif
300  // Signal part for HF
301  for (const auto& hfItr : Hithf) {
302  HcalDetId hid = hfItr.id();
303  double e0 = (hfItr.getHFQIE10Info(0) == nullptr) ? 0 : hfItr.getHFQIE10Info(0)->energy();
304  double e1 = (hfItr.getHFQIE10Info(1) == nullptr) ? 0 : hfItr.getHFQIE10Info(1)->energy();
305  double energy = e0 + e1;
306  if (std::abs(energy) < 1e-6)
307  energy = (energy > 0) ? 1e-6 : -1e-6;
308  double f1(e0), f2(e1);
309  if (ratio_) {
310  f1 /= energy;
311  f2 /= energy;
312  }
313 #ifdef EDM_ML_DEBUG
314  edm::LogVerbatim("RecAnalyzer") << hid << " E " << e0 << ":" << e1 << " F " << f1 << ":" << f2;
315 #endif
316  if (fill) {
317  for (unsigned int i = 0; i < hcalID_.size(); i++) {
318  if (hcalID_[i] == hid.rawId()) {
319  histo_[i].first->Fill(f1);
320  histo_[i].second->Fill(f2);
321  break;
322  }
323  }
324  hist_[0]->Fill(f1);
325  hist_[1]->Fill(f2);
326  }
327 
328  //
329  // Remove PMT hits
330  //
331  if (((noise_ || nzs_) && fabs(energy) <= 40.) || (energy >= eLowHF_ && energy <= eHighHF_)) {
332  std::map<std::pair<int, HcalDetId>, myInfo>::iterator itr1 = myMap_.find(std::pair<int, HcalDetId>(algoBit, hid));
333  if (itr1 == myMap_.end()) {
334  myInfo info;
335  myMap_[std::pair<int, HcalDetId>(algoBit, hid)] = info;
336  itr1 = myMap_.find(std::pair<int, HcalDetId>(algoBit, hid));
337  }
338  itr1->second.kount += 1.0;
339  itr1->second.f11 += (f1);
340  itr1->second.f12 += (f1 * f1);
341  itr1->second.f13 += (f1 * f1 * f1);
342  itr1->second.f14 += (f1 * f1 * f1 * f1);
343  itr1->second.f21 += (f2);
344  itr1->second.f22 += (f2 * f2);
345  itr1->second.f23 += (f2 * f2 * f2);
346  itr1->second.f24 += (f2 * f2 * f2 * f2);
347  itr1->second.runcheck = rnnum_;
348  }
349  }
350 }
351 
352 //define this as a plug-in
ConfigurationDescriptions.h
RecAnalyzerHF::fillTree_
bool fillTree_
Definition: RecAnalyzerHF.cc:57
HcalRespCorrsRcd.h
runGCPTkAlMap.title
string title
Definition: runGCPTkAlMap.py:94
EDAnalyzer.h
mps_fire.i
i
Definition: mps_fire.py:428
MessageLogger.h
RecAnalyzerHF::hcalID_
std::vector< unsigned int > hcalID_
Definition: RecAnalyzerHF.cc:59
TriggerResults.h
RecAnalyzerHF::trigbit
int trigbit
Definition: RecAnalyzerHF.cc:71
HcalDetId::iphi
constexpr int iphi() const
get the cell iphi
Definition: HcalDetId.h:157
edm::EDGetTokenT
Definition: EDGetToken.h:33
RecAnalyzerHF::myInfo::kount
double kount
Definition: RecAnalyzerHF.cc:66
singleTopDQM_cfi.select
select
Definition: singleTopDQM_cfi.py:50
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89285
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
edm::SortedCollection
Definition: SortedCollection.h:49
RecAnalyzerHF::ieta
int ieta
Definition: RecAnalyzerHF.cc:71
RecAnalyzerHF::myTree_
TTree * myTree_
Definition: RecAnalyzerHF.cc:60
edm::SortedCollection::size
size_type size() const
Definition: SortedCollection.h:215
RecAnalyzerHF::endJob
void endJob() override
Definition: RecAnalyzerHF.cc:189
info
static const TGPicture * info(bool iBackgroundIsBlack)
Definition: FWCollectionSummaryWidget.cc:153
HcalDetId::depth
constexpr int depth() const
get the tower depth
Definition: HcalDetId.h:164
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
edm::one::EDAnalyzer
Definition: EDAnalyzer.h:30
spr::find
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
convertSQLiteXML.ok
bool ok
Definition: convertSQLiteXML.py:98
edm::Handle
Definition: AssociativeIterator.h:50
RecAnalyzerHF::beginJob
void beginJob() override
Definition: RecAnalyzerHF.cc:138
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
RecAnalyzerHF::histo_
std::vector< std::pair< TH1D *, TH1D * > > histo_
Definition: RecAnalyzerHF.cc:62
RecAnalyzerHF::cells
int cells
Definition: RecAnalyzerHF.cc:71
RecAnalyzerHF::trigbit_
std::vector< int > trigbit_
Definition: RecAnalyzerHF.cc:63
RecAnalyzerHF::ratio_
bool ratio_
Definition: RecAnalyzerHF.cc:57
MakerMacros.h
RecAnalyzerHF::myInfo::myInfo
myInfo()
Definition: RecAnalyzerHF.cc:67
RecAnalyzerHF::myMap_
std::map< std::pair< int, HcalDetId >, myInfo > myMap_
Definition: RecAnalyzerHF.cc:74
RecAnalyzerHF::analyze
void analyze(edm::Event const &, edm::EventSetup const &) override
Definition: RecAnalyzerHF.cc:234
photonIsolationHIProducer_cfi.hf
hf
Definition: photonIsolationHIProducer_cfi.py:9
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
Service.h
RecAnalyzerHF::mom2_F2
float mom2_F2
Definition: RecAnalyzerHF.cc:73
RecAnalyzerHF::mom0_F2
float mom0_F2
Definition: RecAnalyzerHF.cc:73
RecAnalyzerHF::myInfo::f13
double f13
Definition: RecAnalyzerHF.cc:66
RecAnalyzerHF::tok_hltL1GtMap_
edm::EDGetTokenT< L1GlobalTriggerObjectMapRecord > tok_hltL1GtMap_
Definition: RecAnalyzerHF.cc:76
HCALHighEnergyHPDFilter_cfi.energy
energy
Definition: HCALHighEnergyHPDFilter_cfi.py:5
dqmdumpme.k
k
Definition: dqmdumpme.py:60
RecAnalyzerHF::RecAnalyzerHF
RecAnalyzerHF(const edm::ParameterSet &)
Definition: RecAnalyzerHF.cc:80
ParameterSetDescription.h
RecAnalyzerHF::mom4_F1
float mom4_F1
Definition: RecAnalyzerHF.cc:72
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
RecAnalyzerHF
Definition: RecAnalyzerHF.cc:40
TFileService.h
ntuplemaker.fill
fill
Definition: ntuplemaker.py:304
RecAnalyzerHF::myInfo::f11
double f11
Definition: RecAnalyzerHF.cc:66
HcalDetId::ieta
constexpr int ieta() const
get the cell ieta
Definition: HcalDetId.h:155
edm::ParameterSet
Definition: ParameterSet.h:47
RecAnalyzerHF::myInfo::runcheck
double runcheck
Definition: RecAnalyzerHF.cc:66
GenEventInfoProduct.h
Event.h
RecAnalyzerHF::mom1_F1
float mom1_F1
Definition: RecAnalyzerHF.cc:72
DeadROC_duringRun.f2
f2
Definition: DeadROC_duringRun.py:220
RecAnalyzerHF::analyzeHcal
void analyzeHcal(const HFPreRecHitCollection &, int, bool)
Definition: RecAnalyzerHF.cc:295
HcalDetId.h
StorageManager_cfg.e1
e1
Definition: StorageManager_cfg.py:16
RecAnalyzerHF::myInfo::f21
double f21
Definition: RecAnalyzerHF.cc:66
HcalDetId
Definition: HcalDetId.h:12
edm::Service< TFileService >
TriggerNames.h
iEvent
int iEvent
Definition: GenABIO.cc:224
RecAnalyzerHF::depth
int depth
Definition: RecAnalyzerHF.cc:71
RecAnalyzerHF::mom1_F2
float mom1_F2
Definition: RecAnalyzerHF.cc:73
edm::EventSetup
Definition: EventSetup.h:58
HcalSubdetector.h
HcalRespCorrs.h
RecAnalyzerHF::hist_
TH1D * hist_[2]
Definition: RecAnalyzerHF.cc:61
RecAnalyzerHF::mom3_F1
float mom3_F1
Definition: RecAnalyzerHF.cc:72
RecAnalyzerHF::eLowHF_
double eLowHF_
Definition: RecAnalyzerHF.cc:58
ClusterTask_cfi.trig
trig
Definition: ClusterTask_cfi.py:398
RecAnalyzerHF::rnnumber
double rnnumber
Definition: RecAnalyzerHF.cc:70
RecAnalyzerHF::myInfo::f12
double f12
Definition: RecAnalyzerHF.cc:66
RecAnalyzerHF::iphi
int iphi
Definition: RecAnalyzerHF.cc:71
HcalForward
Definition: HcalAssistant.h:36
RecAnalyzerHF::myInfo::f14
double f14
Definition: RecAnalyzerHF.cc:66
RecAnalyzerHF::ignoreL1_
bool ignoreL1_
Definition: RecAnalyzerHF.cc:57
HcalTopology.h
RecAnalyzerHF::mysubd
int mysubd
Definition: RecAnalyzerHF.cc:71
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
DetId::rawId
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
RecAnalyzerHF::myInfo
Definition: RecAnalyzerHF.cc:65
RecAnalyzerHF::rnnum_
double rnnum_
Definition: RecAnalyzerHF.cc:64
RecAnalyzerHF::nzs_
bool nzs_
Definition: RecAnalyzerHF.cc:57
RecAnalyzerHF::~RecAnalyzerHF
~RecAnalyzerHF() override
Definition: RecAnalyzerHF.cc:117
Frameworkfwd.h
edm::LogVerbatim
Log< level::Info, true > LogVerbatim
Definition: MessageLogger.h:128
TrackerOfflineValidation_Dqm_cff.xmax
xmax
Definition: TrackerOfflineValidation_Dqm_cff.py:11
RecAnalyzerHF::myInfo::f24
double f24
Definition: RecAnalyzerHF.cc:66
RecAnalyzerHF::fs_
edm::Service< TFileService > fs_
Definition: RecAnalyzerHF.cc:56
RecAnalyzerHF::noise_
bool noise_
Definition: RecAnalyzerHF.cc:57
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
EventSetup.h
L1GlobalTriggerObjectMapRecord::gtObjectMap
const std::vector< L1GlobalTriggerObjectMap > & gtObjectMap() const
get / set the vector of object maps
Definition: L1GlobalTriggerObjectMapRecord.h:64
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
HcalRecHitCollections.h
RecAnalyzerHF::fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: RecAnalyzerHF.cc:120
RecAnalyzerHF::mom3_F2
float mom3_F2
Definition: RecAnalyzerHF.cc:73
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
L1GlobalTriggerObjectMapRecord.h
ParameterSet.h
TrackerOfflineValidation_Dqm_cff.xmin
xmin
Definition: TrackerOfflineValidation_Dqm_cff.py:10
RecAnalyzerHF::mom4_F2
float mom4_F2
Definition: RecAnalyzerHF.cc:73
RecAnalyzerHF::tok_hfreco_
edm::EDGetTokenT< HFPreRecHitCollection > tok_hfreco_
Definition: RecAnalyzerHF.cc:75
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
edm::Event
Definition: Event.h:73
DeadROC_duringRun.f1
f1
Definition: DeadROC_duringRun.py:219
RecAnalyzerHF::mom2_F1
float mom2_F1
Definition: RecAnalyzerHF.cc:72
L1GlobalTriggerObjectMap.h
RecAnalyzerHF::myInfo::f23
double f23
Definition: RecAnalyzerHF.cc:66
RecAnalyzerHF::eHighHF_
double eHighHF_
Definition: RecAnalyzerHF.cc:58
edm::InputTag
Definition: InputTag.h:15
RecAnalyzerHF::mom0_F1
float mom0_F1
Definition: RecAnalyzerHF.cc:72
TFileService::make
T * make(const Args &... args) const
make new ROOT object
Definition: TFileService.h:64
RecAnalyzerHF::myInfo::f22
double f22
Definition: RecAnalyzerHF.cc:66
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37