File indexing completed on 2024-04-06 12:04:31
0001 #ifndef DataFormatsL1TCorrelator_TkEGTau_h
0002 #define DataFormatsL1TCorrelator_TkEGTau_h
0003
0004
0005
0006
0007
0008
0009
0010 #include "DataFormats/L1Trigger/interface/L1Candidate.h"
0011 #include "DataFormats/Common/interface/Ref.h"
0012
0013 #include "DataFormats/L1Trigger/interface/EGamma.h"
0014 #include "DataFormats/HepMCCandidate/interface/GenParticle.h"
0015
0016 #include "DataFormats/L1TrackTrigger/interface/TTTrack.h"
0017 #include "DataFormats/L1TrackTrigger/interface/TTTypes.h"
0018
0019 #include <vector>
0020
0021 namespace l1t {
0022
0023 class TkEGTau;
0024
0025 typedef std::vector<TkEGTau> TkEGTauCollection;
0026
0027 typedef edm::Ref<TkEGTauCollection> TkEGTauRef;
0028 typedef edm::RefVector<TkEGTauCollection> TkEGTauRefVector;
0029 typedef std::vector<TkEGTauRef> TkEGTauVectorRef;
0030
0031 typedef TTTrack<Ref_Phase2TrackerDigi_> L1TTTrackType;
0032 typedef std::vector<L1TTTrackType> L1TTTrackCollection;
0033 typedef edm::Ptr<L1TTTrackType> L1TTTrackRefPtr;
0034 typedef std::vector<L1TTTrackRefPtr> L1TTTrackRefPtr_Collection;
0035 typedef edm::Ref<EGammaBxCollection> EGammaRef;
0036 typedef std::vector<EGammaRef> EGammaVectorRef;
0037
0038 class TkEGTau : public L1Candidate {
0039 public:
0040 TkEGTau();
0041
0042 TkEGTau(const LorentzVector& p4,
0043 const std::vector<L1TTTrackRefPtr>& clustTracks,
0044 const std::vector<EGammaRef>& clustEGs,
0045 float iso = -999.);
0046
0047
0048
0049 const L1TTTrackRefPtr seedTrk() const { return clustTracks_.at(0); }
0050
0051 const std::vector<L1TTTrackRefPtr> trks() const { return clustTracks_; }
0052
0053 const std::vector<EGammaRef> EGs() const { return clustEGs_; }
0054
0055 float iso() const { return iso_; }
0056
0057
0058
0059 void setVtxIso(float iso) { iso_ = iso; }
0060
0061 private:
0062 std::vector<L1TTTrackRefPtr> clustTracks_;
0063 std::vector<EGammaRef> clustEGs_;
0064 float iso_;
0065 };
0066 }
0067
0068 #endif