13 float phi_degrees = phi * (360.) / ( 2. *
TMath::Pi() ) ;
14 int iPhi = (int) ( ( phi_degrees/5. ) + 1.);
16 return iPhi < 73 ? iPhi : 73 ;
23 TextFileName = iConfig.
getParameter<std::string>(
"TextFile");
25 if(TextFileName.size())
26 out =
new ofstream(TextFileName.c_str() );
29 if( iConfig.
exists(
"StandardDQM") )
65 FolderName = iConfig.
getParameter<std::string>(
"folderName");
78 dqm->setCurrentFolder(FolderName+
"/EcalHaloData");
81 hEcalHaloData_PhiWedgeMultiplicity = dqm->book1D(
"EcalHaloData_PhiWedgeMultiplicity",
"",20, -0.5, 19.5);
82 hEcalHaloData_PhiWedgeConstituents = dqm->book1D(
"EcalHaloData_PhiWedgeConstituents",
"",20,-0.5, 19.5);
84 hEcalHaloData_PhiWedgeZDirectionConfidence = dqm->book1D(
"EcalHaloData_ZDirectionConfidence",
"", 120, -1.2, 1.2);
85 hEcalHaloData_SuperClusterShowerShapes = dqm->book2D(
"EcalHaloData_SuperClusterShowerShapes",
"", 25,0.0,
TMath::Pi(), 25,0.0, 2.0);
86 hEcalHaloData_SuperClusterEnergy = dqm->book1D(
"EcalHaloData_SuperClusterEnergy",
"",50,-0.5,99.5);
87 hEcalHaloData_SuperClusterNHits = dqm->book1D(
"EcalHaloData_SuperClusterNHits",
"", 20, -0.5, 19.5);
91 hEcalHaloData_PhiWedgeMultiplicity = dqm->book1D(
"EcalHaloData_PhiWedgeMultiplicity",
"",20, -0.5, 19.5);
92 hEcalHaloData_PhiWedgeEnergy = dqm->book1D(
"EcalHaloData_PhiWedgeEnergy",
"", 50,-0.5,199.5);
93 hEcalHaloData_PhiWedgeConstituents = dqm->book1D(
"EcalHaloData_PhiWedgeConstituents",
"",20,-0.5, 19.5);
94 hEcalHaloData_PhiWedgeMinTime = dqm->book1D(
"EcalHaloData_PhiWedgeMinTime",
"", 100, -225.0, 225.0);
95 hEcalHaloData_PhiWedgeMaxTime = dqm->book1D(
"EcalHaloData_PhiWedgeMaxTime",
"", 100, -225.0, 225.0);
96 hEcalHaloData_PhiWedgeiPhi = dqm->book1D(
"EcalHaloData_PhiWedgeiPhi",
"", 360, 0.5, 360.5) ;
97 hEcalHaloData_PhiWedgePlusZDirectionConfidence = dqm->book1D(
"EcalHaloData_PlusZDirectionConfidence",
"", 50, 0., 1.0);
98 hEcalHaloData_PhiWedgeZDirectionConfidence = dqm->book1D(
"EcalHaloData_ZDirectionConfidence",
"", 120, -1.2, 1.2);
99 hEcalHaloData_PhiWedgeMinVsMaxTime = dqm->book2D(
"EcalHaloData_PhiWedgeMinVsMaxTime",
"", 50,-100.0, 100.0, 50, -100.0, 100.0);
100 hEcalHaloData_SuperClusterShowerShapes = dqm->book2D(
"EcalHaloData_SuperClusterShowerShapes",
"", 25,0.0,
TMath::Pi(), 25,0.0, 2.0);
101 hEcalHaloData_SuperClusterEnergy = dqm->book1D(
"EcalHaloData_SuperClusterEnergy",
"",100,-0.5,99.5);
102 hEcalHaloData_SuperClusterNHits = dqm->book1D(
"EcalHaloData_SuperClusterNHits",
"", 20, -0.5, 19.5);
103 hEcalHaloData_SuperClusterPhiVsEta = dqm->book2D(
"EcalHaloData_SuperClusterPhiVsEta",
"",60, -3.0, 3.0,72, -
TMath::Pi(),
TMath::Pi());
107 dqm->setCurrentFolder(FolderName+
"/HcalHaloData");
110 hHcalHaloData_PhiWedgeMultiplicity = dqm->book1D(
"HcalHaloData_PhiWedgeMultiplicity",
"", 20, -0.5, 19.5);
111 hHcalHaloData_PhiWedgeConstituents = dqm->book1D(
"HcalHaloData_PhiWedgeConstituents",
"", 20,-0.5, 19.5);
113 hHcalHaloData_PhiWedgeZDirectionConfidence = dqm->book1D(
"HcalHaloData_ZDirectionConfidence",
"", 120, -1.2, 1.2);
117 hHcalHaloData_PhiWedgeMultiplicity = dqm->book1D(
"HcalHaloData_PhiWedgeMultiplicity",
"", 20, -0.5, 19.5);
118 hHcalHaloData_PhiWedgeEnergy = dqm->book1D(
"HcalHaloData_PhiWedgeEnergy",
"", 50,-0.5,199.5);
119 hHcalHaloData_PhiWedgeConstituents = dqm->book1D(
"HcalHaloData_PhiWedgeConstituents",
"", 20,-0.5, 19.5);
120 hHcalHaloData_PhiWedgeiPhi = dqm->book1D(
"HcalHaloData_PhiWedgeiPhi",
"", 72, 0.5,72.5);
121 hHcalHaloData_PhiWedgeMinTime = dqm->book1D(
"HcalHaloData_PhiWedgeMinTime",
"", 50, -100.0, 100.0);
122 hHcalHaloData_PhiWedgeMaxTime = dqm->book1D(
"HcalHaloData_PhiWedgeMaxTime",
"", 50, -100.0, 100.0);
123 hHcalHaloData_PhiWedgePlusZDirectionConfidence = dqm->book1D(
"HcalHaloData_PlusZDirectionConfidence",
"", 50, 0., 1.0);
124 hHcalHaloData_PhiWedgeZDirectionConfidence = dqm->book1D(
"HcalHaloData_ZDirectionConfidence",
"", 120, -1.2, 1.2);
125 hHcalHaloData_PhiWedgeMinVsMaxTime = dqm->book2D(
"HcalHaloData_PhiWedgeMinVsMaxTime",
"" , 50,-100.0, 100.0, 50, -100.0, 100.0);
129 dqm->setCurrentFolder(FolderName+
"/CSCHaloData");
132 hCSCHaloData_TrackMultiplicity = dqm->book1D(
"CSCHaloData_TrackMultiplicity",
"", 15, -0.5, 14.5);
133 hCSCHaloData_TrackMultiplicityMEPlus = dqm->book1D(
"CSCHaloData_TrackMultiplicityMEPlus",
"", 15, -0.5, 14.5);
134 hCSCHaloData_TrackMultiplicityMEMinus = dqm->book1D(
"CSCHaloData_TrackMultiplicityMEMinus",
"", 15, -0.5, 14.5);
135 hCSCHaloData_InnerMostTrackHitR = dqm->book1D(
"CSCHaloData_InnerMostTrackHitR",
"", 70, 99.5, 799.5);
136 hCSCHaloData_InnerMostTrackHitPhi = dqm->book1D(
"CSCHaloData_InnerMostTrackHitPhi",
"", 72, -
TMath::Pi(),
TMath::Pi());
137 hCSCHaloData_L1HaloTriggersMEPlus = dqm->book1D(
"CSCHaloData_L1HaloTriggersMEPlus",
"", 10, -0.5, 9.5);
138 hCSCHaloData_L1HaloTriggersMEMinus = dqm->book1D(
"CSCHaloData_L1HaloTriggersMEMinus",
"" , 10, -0.5, 9.5);
139 hCSCHaloData_L1HaloTriggers = dqm->book1D(
"CSCHaloData_L1HaloTriggers",
"", 10, -0.5, 9.5);
140 hCSCHaloData_HLHaloTriggers = dqm->book1D(
"CSCHaloData_HLHaloTriggers",
"", 2, -0.5, 1.5);
141 hCSCHaloData_NOutOfTimeTriggersvsL1HaloExists = dqm->book2D(
"CSCHaloData_NOutOfTimeTriggersvsL1HaloExists",
"", 20, -0.5, 19.5, 2, -0.5, 1.5);
142 hCSCHaloData_NOutOfTimeTriggersMEPlus = dqm->book1D(
"CSCHaloData_NOutOfTimeTriggersMEPlus",
"", 20, -0.5, 19.5);
143 hCSCHaloData_NOutOfTimeTriggersMEMinus = dqm->book1D(
"CSCHaloData_NOutOfTimeTriggersMEMinus",
"", 20, -0.5, 19.5);
144 hCSCHaloData_NOutOfTimeTriggers = dqm->book1D(
"CSCHaloData_NOutOfTimeTriggers",
"", 20, -0.5, 19.5);
145 hCSCHaloData_NOutOfTimeHits = dqm->book1D(
"CSCHaloData_NOutOfTimeHits",
"", 60, -0.5, 59.5);
149 hCSCHaloData_TrackMultiplicity = dqm->book1D(
"CSCHaloData_TrackMultiplicity",
"", 15, -0.5, 14.5);
150 hCSCHaloData_TrackMultiplicityMEPlus = dqm->book1D(
"CSCHaloData_TrackMultiplicityMEPlus",
"", 15, -0.5, 14.5);
151 hCSCHaloData_TrackMultiplicityMEMinus = dqm->book1D(
"CSCHaloData_TrackMultiplicityMEMinus",
"", 15, -0.5, 14.5);
152 hCSCHaloData_InnerMostTrackHitXY = dqm->book2D(
"CSCHaloData_InnerMostTrackHitXY",
"", 100,-700,700,100, -700,700);
153 hCSCHaloData_InnerMostTrackHitR = dqm->book1D(
"CSCHaloData_InnerMostTrackHitR",
"", 400, -0.5, 799.5);
154 hCSCHaloData_InnerMostTrackHitRPlusZ = dqm->book2D(
"CSCHaloData_InnerMostTrackHitRPlusZ",
"", 400 , 400, 1200, 400, -0.5, 799.5 );
155 hCSCHaloData_InnerMostTrackHitRMinusZ = dqm->book2D(
"CSCHaloData_InnerMostTrackHitRMinusZ",
"", 400 , -1200, -400, 400, -0.5, 799.5 );
156 hCSCHaloData_InnerMostTrackHitiPhi = dqm->book1D(
"CSCHaloData_InnerMostTrackHitiPhi",
"", 72, 0.5, 72.5);
157 hCSCHaloData_InnerMostTrackHitPhi = dqm->book1D(
"CSCHaloData_InnerMostTrackHitPhi",
"", 72, -
TMath::Pi(),
TMath::Pi());
158 hCSCHaloData_L1HaloTriggersMEPlus = dqm->book1D(
"CSCHaloData_L1HaloTriggersMEPlus",
"", 10, -0.5, 9.5);
159 hCSCHaloData_L1HaloTriggersMEMinus = dqm->book1D(
"CSCHaloData_L1HaloTriggersMEMinus",
"" , 10, -0.5, 9.5);
160 hCSCHaloData_L1HaloTriggers = dqm->book1D(
"CSCHaloData_L1HaloTriggers",
"", 10, -0.5, 9.5);
161 hCSCHaloData_HLHaloTriggers = dqm->book1D(
"CSCHaloData_HLHaloTriggers",
"", 2, -0.5, 1.5);
162 hCSCHaloData_NOutOfTimeTriggersvsL1HaloExists = dqm->book2D(
"CSCHaloData_NOutOfTimeTriggersvsL1HaloExists",
"", 20, -0.5, 19.5, 2, -0.5, 1.5);
163 hCSCHaloData_NOutOfTimeTriggers = dqm->book1D(
"CSCHaloData_NOutOfTimeTriggers",
"", 20, -0.5, 19.5);
164 hCSCHaloData_NOutOfTimeHits = dqm->book1D(
"CSCHaloData_NOutOfTimeHits",
"", 60, -0.5, 59.5);
168 dqm->setCurrentFolder(FolderName+
"/GlobalHaloData");
171 hGlobalHaloData_MExCorrection = dqm->book1D(
"GlobalHaloData_MExCorrection",
"" , 200, -200., 200.);
172 hGlobalHaloData_MEyCorrection = dqm->book1D(
"GlobalHaloData_MEyCorrection",
"" , 200, -200., 200.);
173 hGlobalHaloData_SumEtCorrection = dqm->book1D(
"GlobalHaloData_SumEtCorrection",
"" , 200, -0.5, 399.5);
174 hGlobalHaloData_HaloCorrectedMET = dqm->book1D(
"GlobalHaloData_HaloCorrectedMET",
"" , 500, -0.5, 1999.5);
175 hGlobalHaloData_RawMETMinusHaloCorrectedMET = dqm->book1D(
"GlobalHaloData_RawMETMinusHaloCorrectedMET",
"" , 250, -500., 500.);
176 hGlobalHaloData_RawMETOverSumEt = dqm->book1D(
"GlobalHaloData_RawMETOverSumEt",
"" , 100, 0.0, 1.0);
177 hGlobalHaloData_MatchedHcalPhiWedgeMultiplicity = dqm->book1D(
"GlobalHaloData_MatchedHcalPhiWedgeMultiplicity",
"", 15, -0.5, 14.5);
178 hGlobalHaloData_MatchedHcalPhiWedgeEnergy = dqm->book1D(
"GlobalHaloData_MatchedHcalPhiWedgeEnergy",
"", 50,-0.5,199.5);
179 hGlobalHaloData_MatchedHcalPhiWedgeConstituents = dqm->book1D(
"GlobalHaloData_MatchedHcalPhiWedgeConstituents",
"", 20,-0.5, 19.5);
180 hGlobalHaloData_MatchedHcalPhiWedgeiPhi = dqm->book1D(
"GlobalHaloData_MatchedHcalPhiWedgeiPhi",
"", 1, 0.5,72.5);
181 hGlobalHaloData_MatchedHcalPhiWedgeMinTime = dqm->book1D(
"GlobalHaloData_MatchedHcalPhiWedgeMinTime",
"", 50, -100.0, 100.0);
182 hGlobalHaloData_MatchedHcalPhiWedgeMaxTime = dqm->book1D(
"GlobalHaloData_MatchedHcalPhiWedgeMaxTime",
"", 50, -100.0, 100.0);
183 hGlobalHaloData_MatchedHcalPhiWedgeZDirectionConfidence = dqm->book1D(
"GlobalHaloData_MatchedHcalPhiWedgeZDirectionConfidence",
"", 120, -1.2, 1.2);
184 hGlobalHaloData_MatchedEcalPhiWedgeMultiplicity = dqm->book1D(
"GlobalHaloData_MatchedEcalPhiWedgeMultiplicity",
"", 15, -0.5, 14.5);
185 hGlobalHaloData_MatchedEcalPhiWedgeEnergy = dqm->book1D(
"GlobalHaloData_MatchedEcalPhiWedgeEnergy",
"", 50,-0.5,199.5);
186 hGlobalHaloData_MatchedEcalPhiWedgeConstituents = dqm->book1D(
"GlobalHaloData_MatchedEcalPhiWedgeConstituents",
"", 20,-0.5, 19.5);
187 hGlobalHaloData_MatchedEcalPhiWedgeiPhi = dqm->book1D(
"GlobalHaloData_MatchedEcalPhiWedgeiPhi",
"", 360, 0.5,360.5);
188 hGlobalHaloData_MatchedEcalPhiWedgeMinTime = dqm->book1D(
"GlobalHaloData_MatchedEcalPhiWedgeMinTime",
"", 50, -100.0, 100.0);
189 hGlobalHaloData_MatchedEcalPhiWedgeMaxTime = dqm->book1D(
"GlobalHaloData_MatchedEcalPhiWedgeMaxTime",
"", 50, -100.0, 100.0);
190 hGlobalHaloData_MatchedEcalPhiWedgeZDirectionConfidence = dqm->book1D(
"GlobalHaloData_MatchedEcalPhiWedgeZDirectionConfidence",
"", 120, 1.2, 1.2);
193 dqm->setCurrentFolder(FolderName+
"/BeamHaloSummary");
195 hBeamHaloSummary_Id = dqm->book1D(
"BeamHaloSumamry_Id",
"", 11, 0.5,11.5);
196 hBeamHaloSummary_Id ->setBinLabel(1,
"CSC Loose");
197 hBeamHaloSummary_Id ->setBinLabel(2,
"CSC Tight");
198 hBeamHaloSummary_Id ->setBinLabel(3,
"Ecal Loose");
199 hBeamHaloSummary_Id ->setBinLabel(4,
"Ecal Tight");
200 hBeamHaloSummary_Id ->setBinLabel(5,
"Hcal Loose");
201 hBeamHaloSummary_Id ->setBinLabel(6,
"Hcal Tight");
202 hBeamHaloSummary_Id ->setBinLabel(7,
"Global Loose");
203 hBeamHaloSummary_Id ->setBinLabel(8,
"Global Tight");
204 hBeamHaloSummary_Id ->setBinLabel(9,
"Event Loose");
205 hBeamHaloSummary_Id ->setBinLabel(10,
"Event Tight");
206 hBeamHaloSummary_Id ->setBinLabel(11,
"Nothing");
209 hBeamHaloSummary_BXN = dqm->book2D(
"BeamHaloSummary_BXN",
"",11, 0.5, 11.5, 4000, -0.5,3999.5);
210 hBeamHaloSummary_BXN ->setBinLabel(1,
"CSC Loose");
211 hBeamHaloSummary_BXN ->setBinLabel(2,
"CSC Tight");
212 hBeamHaloSummary_BXN ->setBinLabel(3,
"Ecal Loose");
213 hBeamHaloSummary_BXN ->setBinLabel(4,
"Ecal Tight");
214 hBeamHaloSummary_BXN ->setBinLabel(5,
"Hcal Loose");
215 hBeamHaloSummary_BXN ->setBinLabel(6,
"Hcal Tight");
216 hBeamHaloSummary_BXN ->setBinLabel(7,
"Global Loose");
217 hBeamHaloSummary_BXN ->setBinLabel(8,
"Global Tight");
218 hBeamHaloSummary_BXN ->setBinLabel(9,
"Event Loose");
219 hBeamHaloSummary_BXN ->setBinLabel(10,
"Event Tight");
220 hBeamHaloSummary_BXN ->setBinLabel(11,
"Nothing");
223 dqm->setCurrentFolder(FolderName+
"/ExtraHaloData");
226 hExtra_CSCTrackInnerOuterDPhi = dqm->book1D(
"Extra_CSCTrackInnerOuterDPhi",
"",100, 0,
TMath::Pi() );
227 hExtra_CSCTrackInnerOuterDEta = dqm->book1D(
"Extra_CSCTrackInnerOuterDEta",
"", 100, 0, 3.0 );
228 hExtra_CSCTrackChi2Ndof = dqm->book1D(
"Extra_CSCTrackChi2Ndof",
"", 25, 0, 10);
229 hExtra_CSCTrackNHits = dqm->book1D(
"Extra_CSCTrackNHits",
"", 75,0, 75);
230 hExtra_CSCActivityWithMET= dqm->book2D(
"Extra_CSCActivityWithMET",
"", 4, 0.5, 4.5, 4, 0.5, 4.5);
231 hExtra_CSCActivityWithMET->setBinLabel(1,
"Track",1);
232 hExtra_CSCActivityWithMET->setBinLabel(1,
"Track",2);
233 hExtra_CSCActivityWithMET->setBinLabel(2,
"Segments",1);
234 hExtra_CSCActivityWithMET->setBinLabel(2,
"Segments",2);
235 hExtra_CSCActivityWithMET->setBinLabel(3,
"RecHits", 1);
236 hExtra_CSCActivityWithMET->setBinLabel(3,
"RecHits", 2);
237 hExtra_CSCActivityWithMET->setBinLabel(4,
"Nothing", 1);
238 hExtra_CSCActivityWithMET->setBinLabel(4,
"Nothing", 2);
239 hExtra_InnerMostTrackHitR = dqm->book1D(
"Extra_InnerMostTrackHitR",
"", 70, 99.5, 799.5);
240 hExtra_InnerMostTrackHitPhi = dqm->book1D(
"Extra_InnerMostTrackHitPhi",
"", 72, -
TMath::Pi(),
TMath::Pi());
244 hExtra_CSCActivityWithMET= dqm->book2D(
"Extra_CSCActivityWithMET",
"", 4, 0.5, 4.5, 4, 0.5, 4.5);
245 hExtra_CSCActivityWithMET->setBinLabel(1,
"Track",1);
246 hExtra_CSCActivityWithMET->setBinLabel(1,
"Track",2);
247 hExtra_CSCActivityWithMET->setBinLabel(2,
"Segments",1);
248 hExtra_CSCActivityWithMET->setBinLabel(2,
"Segments",2);
249 hExtra_CSCActivityWithMET->setBinLabel(3,
"RecHits", 1);
250 hExtra_CSCActivityWithMET->setBinLabel(3,
"RecHits", 2);
251 hExtra_CSCActivityWithMET->setBinLabel(4,
"Nothing", 1);
252 hExtra_CSCActivityWithMET->setBinLabel(4,
"Nothing", 2);
253 hExtra_HcalToF = dqm->book2D(
"Extra_HcalToF",
"" , 83,-41.5,41.5 , 1000, -125., 125.);
254 hExtra_HcalToF_HaloId = dqm->book2D(
"Extra_HcalToF_HaloId",
"", 83,-41.5,41.5 , 1000, -125., 125.);
255 hExtra_EcalToF = dqm->book2D(
"Extra_EcalToF",
"", 171,-85.5,85.5 , 2000, -225., 225.);
256 hExtra_EcalToF_HaloId = dqm->book2D(
"Extra_EcalToF_HaloId",
"", 171,-85.5,85.5 , 2000, -225., 225.);
257 hExtra_CSCTrackInnerOuterDPhi = dqm->book1D(
"Extra_CSCTrackInnerOuterDPhi",
"",100, 0,
TMath::Pi() );
258 hExtra_CSCTrackInnerOuterDEta = dqm->book1D(
"Extra_CSCTrackInnerOuterDEta",
"", 100, 0,
TMath::Pi() );
259 hExtra_CSCTrackChi2Ndof = dqm->book1D(
"Extra_CSCTrackChi2Ndof",
"", 100, 0, 10);
260 hExtra_CSCTrackNHits = dqm->book1D(
"Extra_CSCTrackNHits",
"", 75,0, 75);
261 hExtra_InnerMostTrackHitXY = dqm->book2D(
"Extra_InnerMostTrackHitXY",
"", 100,-700,700,100, -700,700);
262 hExtra_InnerMostTrackHitR = dqm->book1D(
"Extra_InnerMostTrackHitR",
"", 400, -0.5, 799.5);
263 hExtra_InnerMostTrackHitRPlusZ = dqm->book2D(
"Extra_InnerMostTrackHitRPlusZ",
"", 400 , 400, 1200, 400, -0.5, 799.5 );
264 hExtra_InnerMostTrackHitRMinusZ = dqm->book2D(
"Extra_InnerMostTrackHitRMinusZ",
"", 400 , -1200, -400, 400, -0.5, 799.5 );
265 hExtra_InnerMostTrackHitiPhi = dqm->book1D(
"Extra_InnerMostTrackHitiPhi",
"", 72, 0.5, 72.5);
266 hExtra_InnerMostTrackHitPhi = dqm->book1D(
"Extra_InnerMostTrackHitPhi",
"", 72, -
TMath::Pi(),
TMath::Pi());
267 hExtra_BXN = dqm->book1D(
"Extra_BXN",
"BXN Occupancy", 4000, 0.5, 4000.5);
276 bool Dump = TextFileName.size();
277 int TheEventNumber = TheEvent.
event();
291 iEvent.
getByLabel(IT_CosmicStandAloneMuon, TheCosmics);
292 bool CSCTrackPlus =
false;
bool CSCTrackMinus =
false;
295 for( reco::TrackCollection::const_iterator cosmic = TheCosmics ->
begin() ; cosmic != TheCosmics->end() ; cosmic++ )
297 if( !CSCTrackPlus || !CSCTrackMinus )
299 if( cosmic->eta() > 0 || cosmic->outerPosition().z() > 0 || cosmic->innerPosition().z() > 0 ) CSCTrackPlus =
true ;
300 else if( cosmic->eta() < 0 || cosmic->outerPosition().z() < 0 || cosmic->innerPosition().z() < 0) CSCTrackMinus =
true;
303 float innermost_phi = 0.;
304 float outermost_phi = 0.;
305 float innermost_z = 99999.;
306 float outermost_z = 0.;
307 float innermost_eta = 0.;
308 float outermost_eta = 0.;
309 float innermost_x =0.;
310 float innermost_y =0.;
311 float innermost_r =0.;
312 for(
unsigned int j = 0 ;
j < cosmic->extra()->recHits().size();
j++ )
315 DetId TheDetUnitId(
hit->geographicalId());
319 const GeomDetUnit *TheUnit = TheCSCGeometry->idToDetUnit(TheDetUnitId);
324 float z = TheGlobalPosition.
z();
325 if( TMath::Abs(z) < innermost_z )
327 innermost_phi = TheGlobalPosition.
phi();
328 innermost_eta = TheGlobalPosition.
eta();
329 innermost_z = TheGlobalPosition.
z();
330 innermost_x = TheGlobalPosition.
x();
331 innermost_y = TheGlobalPosition.
y();
332 innermost_r = TMath::Sqrt( innermost_x*innermost_x + innermost_y*innermost_y );
334 if( TMath::Abs(z) > outermost_z)
336 outermost_phi = TheGlobalPosition.
phi() ;
337 outermost_eta = TheGlobalPosition.
eta() ;
338 outermost_z = TheGlobalPosition.
z();
341 float dphi = TMath::Abs( outermost_phi - innermost_phi );
342 float deta = TMath::Abs( outermost_eta - innermost_eta );
343 hExtra_CSCTrackInnerOuterDPhi ->
Fill( dphi );
344 hExtra_CSCTrackInnerOuterDEta ->
Fill( deta );
345 hExtra_CSCTrackChi2Ndof ->
Fill(cosmic->normalizedChi2() );
346 hExtra_CSCTrackNHits ->
Fill(cosmic->numberOfValidHits() );
347 hExtra_InnerMostTrackHitR ->Fill(innermost_r);
348 hExtra_InnerMostTrackHitPhi ->Fill(innermost_phi);
351 hExtra_InnerMostTrackHitXY ->Fill(innermost_x, innermost_y);
352 hExtra_InnerMostTrackHitiPhi ->Fill(
Phi_To_iPhi(innermost_phi));
354 hExtra_InnerMostTrackHitRPlusZ ->Fill(innermost_z, innermost_r);
356 hExtra_InnerMostTrackHitRMinusZ ->Fill(innermost_z, innermost_r);
363 iEvent.
getByLabel(IT_CSCSegment, TheCSCSegments);
366 std::vector< CSCSegment> vCSCSegments_Plus;
367 std::vector< CSCSegment> vCSCSegments_Minus;
369 bool CSCSegmentPlus =
false;
370 bool CSCSegmentMinus=
false;
375 const std::vector<CSCRecHit2D> vCSCRecHits = iSegment->specificRecHits();
378 if ( iDetId.
endcap() == 1 ) vCSCSegments_Plus.push_back( *iSegment );
379 else vCSCSegments_Minus.push_back( *iSegment );
384 if( vCSCSegments_Plus.size() ) CSCSegmentPlus =
true;
385 if( vCSCSegments_Minus.size() ) CSCSegmentMinus =
true;
389 iEvent.
getByLabel(IT_CSCRecHit, TheCSCRecHits);
390 bool CSCRecHitPlus =
false;
391 bool CSCRecHitMinus =
false;
396 DetId TheDetUnitId(iCSCRecHit->geographicalId());
397 const GeomDetUnit *TheUnit = (*TheCSCGeometry).idToDetUnit(TheDetUnitId);
398 LocalPoint TheLocalPosition = iCSCRecHit->localPosition();
399 const BoundPlane& TheSurface = TheUnit->surface();
403 if ( TheGlobalPosition.
z() > 0 ) CSCRecHitPlus =
true;
404 else CSCRecHitMinus =
true;
416 if( iEBRecHit->energy() < 0.5 )
continue;
419 int ieta = EcalId.ieta() ;
421 hExtra_EcalToF ->Fill(ieta, iEBRecHit->time() );
429 iEvent.
getByLabel(IT_HBHERecHit, TheHBHERecHits);
434 if( iHBHERecHit->energy() < 1.)
continue;
437 hExtra_HcalToF->Fill(
id.ieta(), iHBHERecHit->time() ) ;
447 iEvent.
getByLabel(IT_CSCHaloData,TheCSCDataHandle);
448 int TheHaloOrigin = 0;
449 if (TheCSCDataHandle.
isValid())
459 float r = TMath::Sqrt(
i->x()*
i->x() +
i->y()*
i->y() );
462 hCSCHaloData_InnerMostTrackHitXY->Fill(
i->x(),
i->y() );
463 hCSCHaloData_InnerMostTrackHitiPhi ->Fill(
Phi_To_iPhi(
i->phi()));
465 hCSCHaloData_InnerMostTrackHitRPlusZ ->
Fill(
i->z(),
r) ;
467 hCSCHaloData_InnerMostTrackHitRMinusZ ->Fill(
i->z(),
r) ;
469 hCSCHaloData_InnerMostTrackHitR ->Fill(r);
470 hCSCHaloData_InnerMostTrackHitPhi ->Fill(
i->phi());
478 hCSCHaloData_TrackMultiplicity->Fill( CSCData.
GetTracks().
size() );
488 iEvent.
getByLabel(IT_EcalHaloData, TheEcalHaloData );
489 if( TheEcalHaloData.
isValid() )
492 std::vector<PhiWedge> EcalWedges = EcalData.
GetPhiWedges();
493 for(std::vector<PhiWedge>::const_iterator iWedge = EcalWedges.begin() ; iWedge != EcalWedges.end(); iWedge ++ )
497 hEcalHaloData_PhiWedgeEnergy->Fill( iWedge->Energy() );
498 hEcalHaloData_PhiWedgeMinTime ->Fill( iWedge->MinTime() );
499 hEcalHaloData_PhiWedgeMaxTime ->Fill( iWedge->MaxTime() );
500 hEcalHaloData_PhiWedgeMinVsMaxTime->Fill(iWedge->MinTime() , iWedge->MaxTime() ) ;
501 hEcalHaloData_PhiWedgePlusZDirectionConfidence->Fill( iWedge->PlusZDirectionConfidence() );
502 hEcalHaloData_PhiWedgeiPhi->Fill(iWedge->iPhi() ) ;
504 hEcalHaloData_PhiWedgeZDirectionConfidence ->Fill( iWedge->ZDirectionConfidence() );
505 hEcalHaloData_PhiWedgeConstituents->Fill( iWedge->NumberOfConstituents() ) ;
508 hEcalHaloData_PhiWedgeMultiplicity->Fill( EcalWedges.size() );
516 float angle = vm_Angle[cluster];
517 float roundness = vm_Roundness[cluster];
518 hEcalHaloData_SuperClusterShowerShapes->Fill(angle, roundness);
519 hEcalHaloData_SuperClusterNHits->Fill( cluster->size() );
520 hEcalHaloData_SuperClusterEnergy->Fill(cluster->energy() );
524 hEcalHaloData_SuperClusterPhiVsEta->Fill(cluster->eta() ,cluster->phi() );
531 iEvent.
getByLabel(IT_HcalHaloData ,TheHcalHaloData );
532 if( TheHcalHaloData.
isValid( ) )
535 std::vector<PhiWedge> HcalWedges = HcalData.
GetPhiWedges();
536 hHcalHaloData_PhiWedgeMultiplicity ->Fill( HcalWedges.size() );
537 for(std::vector<PhiWedge>::const_iterator iWedge = HcalWedges.begin() ; iWedge != HcalWedges.end(); iWedge ++ )
541 hHcalHaloData_PhiWedgeEnergy ->Fill( iWedge->Energy() );
542 hHcalHaloData_PhiWedgeMinTime ->Fill( iWedge->MinTime() );
543 hHcalHaloData_PhiWedgeMaxTime ->Fill( iWedge->MaxTime() );
544 hHcalHaloData_PhiWedgePlusZDirectionConfidence ->Fill( iWedge->PlusZDirectionConfidence() );
545 hHcalHaloData_PhiWedgeMinVsMaxTime ->Fill( iWedge->MinTime() , iWedge->MaxTime() );
546 hHcalHaloData_PhiWedgeiPhi ->Fill( iWedge->iPhi() );
549 hHcalHaloData_PhiWedgeConstituents ->Fill( iWedge->NumberOfConstituents() );
550 hHcalHaloData_PhiWedgeZDirectionConfidence ->Fill( iWedge->ZDirectionConfidence() );
559 iEvent.
getByLabel(IT_GlobalHaloData, TheGlobalHaloData );
560 if( TheGlobalHaloData.
isValid() )
567 const CaloMET *RawMET = &(calometcol->front());
571 hGlobalHaloData_MExCorrection ->Fill( GlobalData.
DeltaMEx() );
572 hGlobalHaloData_MEyCorrection ->Fill( GlobalData.
DeltaMEy() );
573 hGlobalHaloData_HaloCorrectedMET->Fill(CorrectedMET.
pt() );
574 hGlobalHaloData_RawMETMinusHaloCorrectedMET ->Fill( RawMET->
pt() - CorrectedMET.
pt() );
575 if( RawMET->
sumEt() )
576 hGlobalHaloData_RawMETOverSumEt ->
Fill( RawMET->
pt() / RawMET->
sumEt() );
582 hGlobalHaloData_MatchedHcalPhiWedgeMultiplicity ->Fill(HcalWedges.size());
584 for( std::vector<PhiWedge>::const_iterator iWedge = HcalWedges.begin() ; iWedge != HcalWedges.end() ; iWedge ++ )
586 hGlobalHaloData_MatchedHcalPhiWedgeEnergy ->Fill( iWedge->Energy() );
587 hGlobalHaloData_MatchedHcalPhiWedgeConstituents ->Fill( iWedge->NumberOfConstituents());
588 hGlobalHaloData_MatchedHcalPhiWedgeiPhi ->Fill( iWedge->iPhi() );
589 hGlobalHaloData_MatchedHcalPhiWedgeMinTime ->Fill( iWedge->MinTime() );
590 hGlobalHaloData_MatchedHcalPhiWedgeMaxTime ->Fill( iWedge->MaxTime() );
591 hGlobalHaloData_MatchedHcalPhiWedgeZDirectionConfidence ->Fill( iWedge->ZDirectionConfidence() ) ;
597 int iphi =
id.
iphi() ;
598 if( iphi != iWedge->iPhi() )
continue;
599 if( iHBHERecHit->energy() < 1.0)
continue;
601 float time = iHBHERecHit->time();
602 int ieta =
id.ieta();
603 hExtra_HcalToF_HaloId ->Fill( ieta, time );
610 hGlobalHaloData_MatchedEcalPhiWedgeMultiplicity ->Fill(EcalWedges.size());
611 for( std::vector<PhiWedge>::const_iterator iWedge = EcalWedges.begin() ; iWedge != EcalWedges.end() ; iWedge ++ )
613 hGlobalHaloData_MatchedEcalPhiWedgeEnergy ->Fill(iWedge->Energy());
614 hGlobalHaloData_MatchedEcalPhiWedgeConstituents ->Fill(iWedge->NumberOfConstituents());
615 hGlobalHaloData_MatchedEcalPhiWedgeiPhi ->Fill(iWedge->iPhi());
616 hGlobalHaloData_MatchedEcalPhiWedgeMinTime ->Fill(iWedge->MinTime());
617 hGlobalHaloData_MatchedEcalPhiWedgeMaxTime ->Fill(iWedge->MaxTime());
618 hGlobalHaloData_MatchedEcalPhiWedgeZDirectionConfidence ->Fill( iWedge->ZDirectionConfidence() ) ;
623 if( iEBRecHit->energy() < 0.5 )
continue;
626 int iPhi = EcalId.iphi() ;
627 iPhi = (iPhi-1)/5 + 1;
628 if( iPhi != iWedge->iPhi() )
continue;
629 hExtra_EcalToF_HaloId ->Fill(EcalId.ieta(), iEBRecHit->time() );
639 iEvent.
getByLabel(IT_BeamHaloSummary, TheBeamHaloSummary) ;
640 if( TheBeamHaloSummary.
isValid() )
645 hBeamHaloSummary_Id ->Fill(1);
646 if(!StandardDQM) hBeamHaloSummary_BXN ->
Fill( 1, BXN );
647 if(Dump)*
out << std::setw(15) <<
"CSCLoose" << std::setw(15) << Run << std::setw(15) << Lumi << std::setw(15) << TheEventNumber << std::endl;
651 hBeamHaloSummary_Id ->Fill(2);
652 if(!StandardDQM)hBeamHaloSummary_BXN ->
Fill( 2, BXN );
656 hBeamHaloSummary_Id ->Fill(3);
657 if(!StandardDQM) hBeamHaloSummary_BXN ->
Fill( 3, BXN );
658 if(Dump) *
out << std::setw(15) <<
"EcalLoose" << std::setw(15) << Run << std::setw(15) << Lumi << std::setw(15) << TheEventNumber << std::endl;
662 hBeamHaloSummary_Id ->Fill(4);
663 if(!StandardDQM)hBeamHaloSummary_BXN ->
Fill( 4, BXN );
667 hBeamHaloSummary_Id ->Fill(5);
668 if(!StandardDQM) hBeamHaloSummary_BXN ->
Fill( 5, BXN );
669 if(Dump) *
out << std::setw(15) <<
"HcalLoose" << std::setw(15) << Run << std::setw(15) << Lumi << std::setw(15) << TheEventNumber << std::endl;
673 hBeamHaloSummary_Id ->Fill(6);
674 if(!StandardDQM)hBeamHaloSummary_BXN ->
Fill( 6, BXN );
678 hBeamHaloSummary_Id ->Fill(7);
679 if(!StandardDQM)hBeamHaloSummary_BXN ->
Fill( 7, BXN );
680 if(Dump) *
out << std::setw(15) <<
"GlobalLoose" << std::setw(15) << Run << std::setw(15) << Lumi << std::setw(15) << TheEventNumber << std::endl;
684 hBeamHaloSummary_Id ->Fill(8);
685 if(!StandardDQM)hBeamHaloSummary_BXN ->
Fill( 8, BXN );
689 hBeamHaloSummary_Id ->Fill(9);
690 if(!StandardDQM)hBeamHaloSummary_BXN ->
Fill( 9, BXN );
694 hBeamHaloSummary_Id ->Fill(10);
695 if(!StandardDQM)hBeamHaloSummary_BXN ->
Fill( 10, BXN );
699 hBeamHaloSummary_Id ->Fill(11);
700 if(!StandardDQM)hBeamHaloSummary_BXN ->
Fill( 11, BXN );
707 const CaloMET *calomet = &(calometcol->front());
709 if( calomet->
pt() > DumpMET )
710 if(Dump) *
out << std::setw(15) <<
"HighMET" << std::setw(15) << Run << std::setw(15) << Lumi << std::setw(15) << TheEventNumber << std::endl;
713 if( calomet->
pt() > 15.0 )
715 if( TheHaloOrigin > 0 )
717 if( CSCTrackPlus && CSCTrackMinus )
718 hExtra_CSCActivityWithMET->Fill(1,1);
719 else if( CSCTrackPlus && CSCSegmentMinus)
720 hExtra_CSCActivityWithMET->Fill(1,2);
721 else if( CSCTrackPlus && CSCRecHitMinus )
722 hExtra_CSCActivityWithMET->Fill(1,3);
723 else if( CSCTrackPlus )
724 hExtra_CSCActivityWithMET->Fill(1,4);
725 else if( CSCSegmentPlus && CSCTrackMinus )
726 hExtra_CSCActivityWithMET->Fill(2,1);
727 else if( CSCSegmentPlus && CSCSegmentMinus )
728 hExtra_CSCActivityWithMET->
Fill(2,2);
729 else if( CSCSegmentPlus && CSCRecHitMinus )
730 hExtra_CSCActivityWithMET->
Fill(2,3);
731 else if( CSCSegmentPlus )
732 hExtra_CSCActivityWithMET->Fill(2,4 );
733 else if( CSCRecHitPlus && CSCTrackMinus )
734 hExtra_CSCActivityWithMET->Fill(3,1);
735 else if( CSCRecHitPlus && CSCSegmentMinus )
736 hExtra_CSCActivityWithMET->Fill(3,2);
737 else if( CSCRecHitPlus && CSCRecHitMinus )
738 hExtra_CSCActivityWithMET->Fill(3,3);
739 else if( CSCRecHitPlus )
740 hExtra_CSCActivityWithMET->Fill(3,4);
742 hExtra_CSCActivityWithMET->Fill(4,4);
744 else if( TheHaloOrigin < 0 )
746 if( CSCTrackMinus && CSCTrackPlus )
747 hExtra_CSCActivityWithMET->Fill(1,1);
748 else if( CSCTrackMinus && CSCSegmentPlus)
749 hExtra_CSCActivityWithMET->Fill(1,2);
750 else if( CSCTrackMinus && CSCRecHitPlus )
751 hExtra_CSCActivityWithMET->Fill(1,3);
752 else if( CSCTrackMinus )
753 hExtra_CSCActivityWithMET->Fill(1,4);
754 else if( CSCSegmentMinus && CSCTrackPlus)
755 hExtra_CSCActivityWithMET->Fill(2,1);
756 else if( CSCSegmentMinus && CSCSegmentPlus )
757 hExtra_CSCActivityWithMET->Fill(2,2 );
758 else if( CSCSegmentMinus && CSCRecHitPlus )
759 hExtra_CSCActivityWithMET->Fill(2,3);
760 else if( CSCSegmentMinus )
761 hExtra_CSCActivityWithMET->Fill(2,4);
762 else if( CSCRecHitMinus && CSCTrackPlus )
763 hExtra_CSCActivityWithMET->Fill(3,1 );
764 else if( CSCRecHitMinus && CSCSegmentPlus )
765 hExtra_CSCActivityWithMET->Fill(3,2 );
766 else if( CSCRecHitMinus && CSCRecHitPlus )
767 hExtra_CSCActivityWithMET->Fill(3,3);
768 else if( CSCRecHitMinus )
769 hExtra_CSCActivityWithMET->Fill(3,4);
770 else hExtra_CSCActivityWithMET->Fill(4,4);
short int NOutOfTimeTriggers(HaloData::Endcap z=HaloData::both) const
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
const bool EcalTightHaloId() const
T getParameter(std::string const &) const
EventNumber_t event() const
int NumberOfHaloTracks(HaloData::Endcap z=HaloData::both) const
edm::ValueMap< float > & GetShowerShapesRoundness()
const bool HcalTightHaloId() const
const bool GlobalLooseHaloId() const
const std::vector< PhiWedge > & GetPhiWedges() const
edm::RefVector< reco::SuperClusterCollection > & GetSuperClusters()
const bool LooseId() const
edm::ValueMap< float > & GetShowerShapesAngle()
bool CSCHaloHLTAccept() const
Geom::Phi< T > phi() const
std::vector< T >::const_iterator const_iterator
bool exists(std::string const ¶meterName) const
checks if a parameter exists
int bunchCrossing() const
edm::LuminosityBlockNumber_t luminosityBlock() const
short int NumberOfOutOfTimeTriggers(HaloData::Endcap z=HaloData::both) const
const bool TightId() const
const bool GlobalTightHaloId() const
std::vector< PhiWedge > & GetMatchedEcalPhiWedges()
virtual void beginRun(const edm::Run &, const edm::EventSetup &iSetup)
const bool HcalLooseHaloId() const
const bool CSCTightHaloId() const
int Phi_To_iPhi(float phi)
C::const_iterator const_iterator
constant access iterator type
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
const std::vector< GlobalPoint > & GetCSCTrackImpactPositions() const
short int NOutOfTimeHits() const
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
int NumberOfHaloTriggers(HaloData::Endcap z=HaloData::both) const
reco::CaloMET GetCorrectedCaloMET(const reco::CaloMET &RawMET) const
int iphi() const
get the cell iphi
virtual double pt() const
transverse momentum
T const * product() const
const bool CSCLooseHaloId() const
std::vector< PhiWedge > & GetMatchedHcalPhiWedges()
size_type size() const
Size of the RefVector.
const std::vector< PhiWedge > & GetPhiWedges() const
virtual void analyze(const edm::Event &, const edm::EventSetup &)
BeamHaloAnalyzer(const edm::ParameterSet &)
const bool EcalLooseHaloId() const
virtual const BoundPlane & surface() const
The nominal surface of the GeomDet.
edm::RefVector< reco::TrackCollection > & GetTracks()
T angle(T x1, T y1, T z1, T x2, T y2, T z2)