CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
EcalFEtoDigi.h
Go to the documentation of this file.
1 #ifndef ECALFETODIGI_H
2 #define ECALFETODIGI_H
3 
4 /* Class: EcalFEtoDigi
5  * Description:
6  * produces Ecal trigger primitive digis from TCC input flat files
7  * Original Author: Nuno Leonardo, P. Paganini, E. Perez
8  * Created: Thu Feb 22 11:32:53 CET 2007
9  */
10 
20 
22 //#include "Geometry/EcalMapping/interface/EcalElectronicsMapping.h"
23 
24 #include <memory>
25 #include <iostream>
26 #include <fstream>
27 #include <vector>
28 #include <iomanip>
29 
31 
32 struct TCCinput;
33 typedef std::vector<TCCinput> TCCInputData;
34 const int N_SM = 36; //number of ecal barrel supermodules
35 
36 class EcalFEtoDigi : public edm::EDProducer {
37 
38 public:
39 
40  explicit EcalFEtoDigi(const edm::ParameterSet&);
42 
43 private:
44 
45  virtual void beginJob() ;
46  virtual void produce(edm::Event&, const edm::EventSetup&);
47  virtual void endJob();
48 
49  void readInput();
53  int SMidToTCCid(const int) const;
54  void getLUT(unsigned int * lut, const int towerId, const edm::EventSetup&) const ;
55 
57 
60  int sm_;
61  bool singlefile;
62 
64  bool debug_;
65  std::ofstream outfile;
66 
67 };
68 
69 #endif
void getLUT(unsigned int *lut, const int towerId, const edm::EventSetup &) const
return the LUT from eventSetup
virtual void produce(edm::Event &, const edm::EventSetup &)
method called to produce the data
Definition: EcalFEtoDigi.cc:23
int fileEventOffset_
Definition: EcalFEtoDigi.h:63
EcalFEtoDigi(const edm::ParameterSet &)
Definition: EcalFEtoDigi.cc:7
std::string basename_
Definition: EcalFEtoDigi.h:58
void readInput()
open and read in input (flat) data file
TCCInputData inputdata_[N_SM]
Definition: EcalFEtoDigi.h:56
bool useIdentityLUT_
Definition: EcalFEtoDigi.h:59
virtual void beginJob()
method called once each job just before starting event loop
unsigned towerId(const DetId &)
int SMidToTCCid(const int) const
translate input supermodule id into TCC id (barrel)
virtual void endJob()
method called once each job just after ending the event loop
const int N_SM
Definition: EcalFEtoDigi.h:34
tuple lut
Definition: lumiPlot.py:244
std::vector< TCCinput > TCCInputData
Definition: EcalFEtoDigi.h:32
EcalTriggerPrimitiveSample create_TPSampleTcp(TCCinput, const edm::EventSetup &)
create EcalTriggerPrimitiveSample in tcp format (uncomrpessed energy)
EcalTriggerPrimitiveSample create_TPSample(TCCinput, const edm::EventSetup &)
create EcalTriggerPrimitiveSample from input data (line)
std::ofstream outfile
Definition: EcalFEtoDigi.h:65
EcalTrigTowerDetId create_TTDetId(TCCinput)
create EcalTrigTowerDetId from input data (line)