AlgTool main method.
706{
707
708
709
710
711
712
713
715 return StatusCode::SUCCESS;
716 }
717
719
721
722
723
724
725
726
727
729
730
733
735
736
739
742
743 if ((
info.etamax == 0. &&
info.phimax == 0.) ||
744 std::abs(
info.etamax) > 100.) {
745 return StatusCode::SUCCESS;
746 }
747
748 if (std::abs(
info.etamax) > 2.4) {
749 return StatusCode::SUCCESS;
750 }
751 if (std::abs(
info.etamax) > 1.4 && std::abs(
info.etamax) < 1.5) {
752 return StatusCode::SUCCESS;
753 }
754
755
756 double deta = 0;
757 double dphi = 0;
759 int sampling_or_module = 0;
764
765 if (!dde) {
766 return StatusCode::SUCCESS;
767 }
768
769 deta = dde->
deta() * neta / 2.0;
770
775
776 if (!dde) {
777 return StatusCode::SUCCESS;
778 }
779
780 dphi = dde->
dphi() * nphi / 2.0;
781
782
783 double enecell[STRIP_ARRAY_SIZE] = { 0 };
784 double etacell[STRIP_ARRAY_SIZE] = { 0 };
785 double gracell[STRIP_ARRAY_SIZE] = { 0 };
786 int ncell[STRIP_ARRAY_SIZE] = { 0 };
787
788
789
790 setArray(cluster,
791 cmgr,
792 sam,
795 deta,
796 dphi,
797 enecell,
798 etacell,
799 gracell,
800 ncell);
801
802
803 setIndexSeed(info, etacell, gracell);
804
805 info.f1 = std::abs(eallsamples) > 0. ?
e1 / eallsamples : 0.;
806
807 setEmax(info, enecell);
808
809 setWstot(info, deta, enecell, etacell, ncell);
810
811 setWs3(info, sam, cluster, enecell, etacell, ncell);
812
813 if (ExecAllVariables) {
814 setEnergy(info, enecell);
815 setF1core(info, cluster);
816
817 setAsymmetry(info, enecell);
818
819
820 info.deltaEtaTrackShower =
821 setDeltaEtaTrackShower(1,
info.ncetamax, enecell);
822
823
824 info.deltaEtaTrackShower7 =
825 setDeltaEtaTrackShower(7,
info.ncetaseed, enecell);
826
827 setF2(info, enecell, eallsamples);
828
829 setWidths5(info, enecell);
830
831 int ncsec1 = setEmax2(info, enecell, gracell, ncell);
832
833 setEmin(ncsec1, info, enecell, gracell, ncell);
834
835 setValley(info, enecell);
836
837 setFside(info, enecell, gracell, ncell);
839 }
840 return StatusCode::SUCCESS;
841}
CaloCell_Base_ID::SUBCALO SUBCALO
CaloSampling::CaloSample CaloSample
float dphi() const
cell dphi
float deta() const
cell deta
const CaloDetDescrElement * get_element(const Identifier &cellId) const
get element by its identifier
static void decode_sample(CaloCell_ID::SUBCALO &subCalo, bool &barrel, int &sampling_or_module, CaloCell_ID::CaloSample sample)
translate between the 2 ways to label a sub-detector:
float phiSample(const CaloSample sampling) const
Retrieve barycenter in a given sample.
bool inBarrel() const
Returns true if at least one clustered cell in the barrel.
bool inEndcap() const
Returns true if at least one clustered cell in the endcap.
float etamax(const CaloSample sampling) const
Retrieve of cell with maximum energy in given sampling.
float etaSample(const CaloSample sampling) const
Retrieve barycenter in a given sample.
float phimax(const CaloSample sampling) const
Retrieve of cell with maximum energy in given sampling.
double e1(const xAOD::CaloCluster &cluster)
return the uncorrected cluster energy in 1st sampling
bool inBarrel(const xAOD::CaloCluster &cluster, int is)
return boolean to know if we are in barrel/end-cap
double e(const xAOD::CaloCluster &cluster)
return the uncorrected sum of energy in all samples