30 #include "CaloGeoHelpers/CaloSampling.h"
53 m_caloCellHelper(nullptr),
57 m_maxclusindex_top(0),
58 m_maxclusindex_bot(0),
67 declareInterface<IMonitorToolBase>(
this);
109 for (
int iE=0; iE<
MAX_E; iE++){
116 for(
int j_plot=0; j_plot<3; j_plot++){
173 ATH_MSG_ERROR(
"Could not initialize ManagedMonitorToolBase");
189 if (
sc.isFailure()) {
190 ATH_MSG_ERROR(
"Unable to retrieve CaloIdManager from DetectorStore" );
200 return StatusCode::FAILURE;
210 return StatusCode::SUCCESS;
233 return StatusCode::SUCCESS;
238 bool isNewTimeGran=isNewRun;
243 isNewTimeGran=isNewEventsBlock;
246 else if (
m_timeGran.compare(
"lumiblock") ==0) {
247 isNewTimeGran=isNewLumiBlock;
279 return isNewTimeGran;
284 std::string TheTrigger;
293 m_nCells =
new TH1I(
"NCells",
"NCellsinCluster",20,0.,20.);
295 m_nCells =
new TH1I(
"NCells",
"NCellsinCluster",200,0.,200.);
298 m_nCells->GetXaxis()->SetTitle(
"Number of Cells in Cluster");
333 m_cellTime->GetXaxis()->SetTitle(
"Time (ns)");
350 m_cellTime =
new TH1F(
"m_cell_time",
"Time of leading cell in Cluster",32,-15,15);
352 m_cellTime->GetXaxis()->SetTitle(
"Time (ns)");
354 m_cellvsclust_time =
new TH2F(
"m_cellvsclust_time",
"Time of leading cell in Cluster vs Cluster time",32,-15,15,32,-15,15);
363 std::string TheTrigger;
384 sprintf(btitle,
"Occupancy of clusters with Et_clus>%4.1f GeV",
m_Ethresh[
i]);
385 sprintf(bname,
"m_clus_etaphi_Et_thresh%d",
i);
391 sprintf(btitle,
"Avg Et of clusters with Et_clus>%4.1f GeV",
m_Ethresh[
i]);
392 sprintf(bname,
"etaphi_thresh_avgEt_%d",
i);
415 sprintf(btitle,
"Occupancy of Clusters with E-Clus>%4.1f GeV",
m_Ethresh[
i]);
416 sprintf(bname,
"m_clus_eta%d",
i);
422 sprintf(btitle,
"Occupancy of Clusters with Et-Clus>%4.1f GeV",
m_Ethresh[
i]);
423 sprintf(bname,
"m_clus_eta_Et%d",
i);
428 for (
int j=0; j<3;j++){
431 sprintf(btitle,
"Occupancy of Barrel Clusters Vs Phi E_Clus>%4.1f GeV ",
m_Ethresh[
i]);
432 sprintf(bname,
"m_clus_phi%dBarrel",
i);
435 sprintf(btitle,
"Occupancy of EndCapA Clusters Vs Phi with E_clus>%4.1f GeV ",
m_Ethresh[
i]);
436 sprintf(bname,
"m_clus_phi%dEndcapA",
i);
439 sprintf(btitle,
"Occupancy of EndCapC clusters Vs phi with E_clus>%4.1f GeV Endcap C",
m_Ethresh[
i]);
440 sprintf(bname,
"m_clus_phi%dEndcapC",
i);
452 for (
int j=0; j<3;j++){
455 sprintf(btitle,
"Occupancy of Barrel Clusters Vs Phi Et_Clus>%4.1f GeV ",
m_Ethresh[
i]);
456 sprintf(bname,
"m_clus_phi_Et%dBarrel",
i);
459 sprintf(btitle,
"Occupancy of EndCapA Clusters Vs Phi with Et_clus>%4.1f GeV ",
m_Ethresh[
i]);
460 sprintf(bname,
"m_clus_phi_Et%dEndcapA",
i);
463 sprintf(btitle,
"Occupancy of EndCapC clusters Vs phi with Et_clus>%4.1f GeV Endcap C",
m_Ethresh[
i]);
464 sprintf(bname,
"m_clus_phi_Et%dEndcapC",
i);
475 sprintf(btitle,
"Occupancy of clusters with E_clus>%4.1f GeV",
m_Ethresh[
i]);
476 sprintf(bname,
"m_EtavsPhi%d",
i);
484 sprintf(btitle,
"Avg energy of clusters with E_clus>%4.1f GeV",
m_Ethresh[
i]);
485 sprintf(bname,
"etaphi_thresh_avgenergy_%d",
i);
493 sprintf(btitle,
"Total energy of clusters with E_clus>%4.1f GeV",
m_Ethresh[
i]);
494 sprintf(bname,
"etaphi_thresh_Totalenergy_%d",
i);
500 m_etaVsPhiNegEn =
new TH2F(
"m_EtavsPhiNegEn",
"Occupancy of cluster with E_Clus < 0.0 GeV",98,-4.9,4.9,64,-3.15,3.15);
565 std::string TheTrigger;
587 m_nClusters->GetXaxis()->SetTitle(
"Number of Clusters");
642 std::string TheTrigger;
707 if(
sc.isFailure() || !ifPass)
return StatusCode::SUCCESS;
710 if (! clusterContHandle.isValid()) {
ATH_MSG_WARNING(
"No CaloCluster container found in TDS");
return StatusCode::FAILURE; }
721 for ( ;
it!=it_e;++
it) {
773 for ( ;cellIter !=cellIterEnd;cellIter++) {
776 float EnergyCell=
cell->energy();
777 float TimeCell=
cell->time();
778 if ( cellcount == 1 || fabs(EnergyCell) > fabs(maxcellene) ) {
779 maxcellene=EnergyCell;
781 maxcelltime=TimeCell;
786 float EnergyClus = clus->
e();
787 float EtaClus = clus->
eta();
788 float PhiClus = clus->
phi();
789 float TimeClus = clus->time();
791 if(EnergyClus > 0.0)
ratio = maxcellene/EnergyClus;
793 if ( fabs(EtaClus) < 5.0) {
795 if(EnergyClus > 0.0) {
867 float EnergyClus=clus->
e();
868 float PhiClus=clus->
phi();
881 if(PhiClus > (-5.0) ){
893 float EtaClus = clus->
eta();
894 float PhiClus = clus->
phi();
895 float EtClus = clus->
et();
896 float EClus = clus->
e();
898 TH1F* tmp_clusterEtVsEta_sub=
nullptr;
899 TH1F* tmp_clusterEnergyVsEta_sub=
nullptr;
908 else if( fabs(EtaClus)>=
m_etaMin[2] ){
913 if(fabs(EtaClus) < 5.0) {
915 for (
int j=0;j<
MAX_E;j++) {
927 if (fabs(EtaClus)<1.5) {
929 }
else if (EtaClus > 1.5) {
938 if (fabs(EtaClus)<1.5) {
940 }
else if (EtaClus > 1.5) {
961 if(tmp_clusterEtVsEta_sub) tmp_clusterEtVsEta_sub->Fill(EtClus/
GeV);
962 if(tmp_clusterEnergyVsEta_sub) tmp_clusterEnergyVsEta_sub->Fill(EClus/
GeV);
965 if(tmp_clusterEnergyVsEta_sub) tmp_clusterEnergyVsEta_sub->Fill(EClus/
GeV);
976 float phi_top=0,eta_top=0;
977 float phi_bot=0,eta_bot=0;
1019 std::vector<const CaloCluster*> clusColl;
1020 for (
const auto *clu : *clusterCont) {
1021 if ( fabs( clu->eta() ) < 1.6 ) clusColl.push_back(clu);
1041 float eta = cluster_ptr->eta();
1042 float phi = cluster_ptr->phi();
1046 float ratioTile=0.0;
1062 for (CaloCluster::const_cell_iterator itrCell = cluster_ptr->cell_begin();itrCell!=cluster_ptr->cell_end(); ++itrCell) {
1073 ratioTile=eSumTile / eSum;
1084 if( ratioTile > 0.5 ) {
1091 if (i_clus > 4)
break;