ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/PollackPrograms/src/TCPhysObject.h
Revision: 1.1
Committed: Wed Feb 20 21:39:44 2013 UTC (12 years, 2 months ago) by bpollack
Content type: text/plain
Branch: MAIN
CVS Tags: HEAD
Log Message:
commiting moriond analysis package

File Contents

# User Rev Content
1 bpollack 1.1 #ifndef _TCPHYSOBJECT_H
2     #define _TCPHYSOBJECT_H
3    
4     #include "TObject.h"
5     #include "TLorentzVector.h"
6     #include "TVector2.h"
7     #include "TVector3.h"
8     #include <map>
9     #include <utility>
10     #include <string>
11     #include <iostream>
12    
13     using namespace std;
14    
15     class TCPhysObject : public TLorentzVector {
16     private:
17     TVector3 _vtx;
18     map<string, float> _IdMap;
19     map<string, float> _IsoMap;
20     int _charge;
21     string _type;
22     bool _isPF;
23     bool _isReco;
24    
25     public:
26     TCPhysObject();
27     TCPhysObject(TLorentzVector p4, int charge);
28     TCPhysObject(TLorentzVector p4, int charge, string type);
29     virtual ~TCPhysObject();
30    
31     // "get" methods -----------
32    
33     float IdMap(string key);
34     float IsoMap(string key);
35     TVector2 P2() const;
36     TVector3 Vtx() const;
37     int Charge() const;
38     string Type() const;
39     bool IsPF() const;
40     bool IsReco() const;
41    
42     float Dxy(TVector3 *primVtx) const;
43     float Dz(TVector3 *primVtx) const;
44    
45     // "set" methods ---------
46     void SetP4(TLorentzVector p4);
47     void SetIdMap(string s, float v);
48     void SetIsoMap(string s, float v);
49     void SetVtx(float vx, float vy, float vz);
50     void SetCharge(int c);
51     void SetType(string s);
52     void SetReco(bool);
53     void SetPF(bool);
54    
55     ClassDef(TCPhysObject, 1);
56     };
57    
58     #endif /* _TCPHYSOBJECT_H */