File indexing completed on 2023-03-17 10:50:40
0001 #ifndef DATAFORMATS_METRECO_PHIWEDGE_H
0002 #define DATAFORMATS_METRECO_PHIWEDGE_H
0003
0004
0005
0006
0007
0008
0009 #include "TMath.h"
0010 #include <vector>
0011 namespace reco {
0012
0013 class PhiWedge {
0014 public:
0015
0016 PhiWedge();
0017 PhiWedge(float E, int iphi, int constituents);
0018 PhiWedge(float E, int iphi, int constituents, float min_time, float max_time);
0019 PhiWedge(const PhiWedge&);
0020
0021
0022 ~PhiWedge() {}
0023
0024
0025 float Energy() const { return energy_; }
0026
0027
0028 int NumberOfConstituents() const { return constituents_; }
0029
0030
0031 int iPhi() const { return iphi_; }
0032
0033
0034 float PhiLow() const { return 2. * TMath::Pi() * (float)((iphi_ * 5) - (5.)); }
0035
0036
0037 float PhiHigh() const { return 2. * TMath::Pi() * (float)((iphi_ * 5)); }
0038
0039
0040 float MinTime() const { return min_time_; }
0041 float MaxTime() const { return max_time_; }
0042
0043
0044
0045
0046 float ZDirectionConfidence() const { return (1. - PlusZOriginConfidence_) * 2. - 1.; }
0047 float PlusZDirectionConfidence() const { return 1. - PlusZOriginConfidence_; }
0048 float MinusZDirectionConfidence() const { return PlusZOriginConfidence_; }
0049
0050
0051 float PlusZOriginConfidence() const { return PlusZOriginConfidence_; }
0052 float MinusZOriginConfidence() const { return 1. - PlusZOriginConfidence_; }
0053
0054
0055 int OverlappingCSCTracks() const { return OverlappingCSCTracks_; }
0056 int OverlappingCSCSegments() const { return OverlappingCSCSegments_; }
0057 int OverlappingCSCRecHits() const { return OverlappingCSCRecHits_; }
0058 int OverlappingCSCHaloTriggers() const { return OverlappingCSCHaloTriggers_; }
0059
0060
0061 void SetOverlappingCSCTracks(int x) { OverlappingCSCTracks_ = x; }
0062 void SetOverlappingCSCSegments(int x) { OverlappingCSCSegments_ = x; }
0063 void SetOverlappingCSCRecHits(int x) { OverlappingCSCRecHits_ = x; }
0064 void SetOverlappingCSCHaloTriggers(int x) { OverlappingCSCHaloTriggers_ = x; }
0065 void SetMinMaxTime(float min, float max) {
0066 min_time_ = min;
0067 max_time_ = max;
0068 }
0069 void SetPlusZOriginConfidence(float x) { PlusZOriginConfidence_ = x; }
0070
0071 private:
0072 float energy_;
0073 int iphi_;
0074 int constituents_;
0075 float min_time_;
0076 float max_time_;
0077 float PlusZOriginConfidence_;
0078 int OverlappingCSCTracks_;
0079 int OverlappingCSCSegments_;
0080 int OverlappingCSCRecHits_;
0081 int OverlappingCSCHaloTriggers_;
0082 };
0083 typedef std::vector<PhiWedge> PhiWedgeCollection;
0084 }
0085 #endif