File indexing completed on 2024-04-06 12:04:31
0001 #ifndef DataFormatsL1TCorrelator_TkTrkTau_h
0002 #define DataFormatsL1TCorrelator_TkTrkTau_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 L1TrkTau;
0024
0025 typedef std::vector<L1TrkTau> L1TrkTauCollection;
0026
0027 typedef edm::Ref<L1TrkTauCollection> L1TrkTauRef;
0028 typedef edm::RefVector<L1TrkTauCollection> L1TrkTauRefVector;
0029 typedef std::vector<L1TrkTauRef> L1TrkTauVectorRef;
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
0036 class L1TrkTau : public L1Candidate {
0037 public:
0038 L1TrkTau();
0039
0040 L1TrkTau(const LorentzVector& p4, const std::vector<L1TTTrackRefPtr>& clustTracks, float iso = -999.);
0041
0042
0043
0044 const L1TTTrackRefPtr seedTrk() const { return clustTracks_.at(0); }
0045
0046 const std::vector<L1TTTrackRefPtr> trks() const { return clustTracks_; }
0047
0048 float iso() const { return iso_; }
0049
0050
0051
0052 void setIso(float iso) { iso_ = iso; }
0053
0054 private:
0055 std::vector<L1TTTrackRefPtr> clustTracks_;
0056 float iso_;
0057 };
0058 }
0059
0060 #endif