CMS 3D CMS Logo

L1RCTRelValAnalyzer.cc
Go to the documentation of this file.
1 // system include files
2 #include <memory>
3 
4 // user include files
7 
10 
13 
15 
17 
18 using std::string;
19 using std::cout;
20 using std::endl;
21 
22 //
23 // constructors and destructor
24 //
26  rctEmCandsLabel(iConfig.getParameter<edm::InputTag>("rctEmCandsLabel")),
27  rctRegionsLabel(iConfig.getParameter<edm::InputTag>("rctRegionsLabel"))
28 {
29  //now do what ever initialization is needed
30 
32  h_emRank = fs->make<TH1F>( "emRank", "emRank", 64, 0., 64. );
33  h_emIeta = fs->make<TH1F>( "emOccupancyIeta", "emOccupancyIeta", 22, 0., 22. );
34  h_emIphi = fs->make<TH1F>( "emOccupancyIphi", "emOccupancyIphi", 18, 0., 18. );
35  h_emIsoOccIetaIphi = fs->make<TH2F>( "emIsoOccupancy2D", "emIsoOccupancy2D", 22, 0., 22.,
36  18, 0., 18. );
37  h_emNonIsoOccIetaIphi = fs->make<TH2F>( "emNonIsoOccupancy2D", "emNonIsoOccupancy2D", 22, 0.,
38  22., 18, 0., 18. );
39 
40  h_regionSum = fs->make<TH1F>( "regionSum", "regionSum", 100, 0., 100. );
41  h_regionSumIetaIphi = fs->make<TH2F>( "regionSumEtWeighted2D", "regionSumEtWeighted2D", 22,
42  0., 22., 18, 0., 18. );
43  h_regionOccIetaIphi = fs->make<TH2F>( "regionOccupancy2D", "regionOccupancy2D",
44  22, 0., 22., 18, 0., 18. );
45 }
46 
47 
49 {
50 
51  // do anything here that needs to be done at destruction time
52  // (e.g. close files, deallocate resources etc.)
53 
54 }
55 
56 
57 //
58 // member functions
59 //
60 
61 // ------------ method called to produce the data ------------
62 void
64 {
65  using namespace edm;
66 #ifdef THIS_IS_AN_EVENT_EXAMPLE
68  iEvent.getByLabel("example",pIn);
69 #endif
70 
71 #ifdef THIS_IS_AN_EVENTSETUP_EXAMPLE
72  ESHandle<SetupData> pSetup;
73  iSetup.get<SetupRecord>().get(pSetup);
74 #endif
75 
76  // as in L1GctTestAnalyzer.cc
77  Handle<L1CaloEmCollection> rctEmCands;
79 
80  L1CaloEmCollection::const_iterator em;
81  L1CaloRegionCollection::const_iterator rgn;
82 
83  iEvent.getByLabel(rctEmCandsLabel, rctEmCands);
84  iEvent.getByLabel(rctRegionsLabel, rctRegions);
85 
86  for (em=rctEmCands->begin(); em!=rctEmCands->end(); em++)
87  {
88  if ((*em).rank() > 0)
89  {
90  h_emRank->Fill( (*em).rank() );
91  h_emIeta->Fill( (*em).regionId().ieta() );
92  h_emIphi->Fill( (*em).regionId().iphi() );
93  if ((*em).isolated())
94  {
95  h_emIsoOccIetaIphi->Fill( (*em).regionId().ieta(),
96  (*em).regionId().iphi() );
97  }
98  else
99  {
100  h_emNonIsoOccIetaIphi->Fill( (*em).regionId().ieta(),
101  (*em).regionId().iphi() );
102  }
103  }
104  }
105 
106  for (rgn=rctRegions->begin(); rgn!=rctRegions->end(); rgn++){
107  if ( (*rgn).et() > 0 )
108  {
109  h_regionSum->Fill( (*rgn).et() );
110  h_regionSumIetaIphi->Fill( (*rgn).gctEta(), (*rgn).gctPhi(),
111  (*rgn).et() );
112  h_regionOccIetaIphi->Fill( (*rgn).gctEta(), (*rgn).gctPhi() );
113  }
114  }
115 }
T * make(const Args &...args) const
make new ROOT object
Definition: TFileService.h:64
int iEvent
Definition: GenABIO.cc:230
virtual void analyze(const edm::Event &, const edm::EventSetup &)
L1RCTRelValAnalyzer(const edm::ParameterSet &)
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:464
edm::InputTag rctEmCandsLabel
edm::InputTag rctRegionsLabel
const T & get() const
Definition: EventSetup.h:55
HLT enums.