00001
00002
00003
00004
00005
00006 #ifndef MUID_MUID_H
00007 #define MUID_MUID_H
00008 #include <TROOT.h>
00009 #include <iostream>
00010 #include <vector>
00011
00012 class Particle;
00013
00014 class muid
00015 {
00016 public:
00017 muid() : m_mode(1), m_doCheckIso(1), m_jetList(0) {};
00018
00019 muid(std::vector<Particle*> *jets) : m_mode(1), m_doCheckIso(1), m_jetList(jets) {};
00020
00021 muid(const muid &x) { *this = x; }
00022 virtual ~muid() {};
00023
00024 muid & operator = (const muid &);
00025
00026 void setMuon(Particle *mu, std::vector<Particle*> *jets=0);
00027 void setMuon(std::vector<Particle*> &muList, std::vector<Particle*> *jets=0);
00028 bool isMuon(Particle *mu, std::vector<Particle*> *jets=0);
00029
00030 void setMode(int m) { m_mode = m; }
00031 void setCheckIsolation() { m_doCheckIso = 1; }
00032 void unsetCheckIsolation() { m_doCheckIso = 0; }
00033
00034 void dump() {
00035 std::cout << "*** muid" << std::endl;
00036 std::cout << "*** mode : " << m_mode << std::endl;
00037 std::cout << "*** isolation check (ON 1,OFF 0) : " << m_doCheckIso << std::endl;
00038 }
00039
00040 private:
00041 int m_mode;
00042 int m_doCheckIso;
00043 std::vector<Particle*> *m_jetList;
00044 };
00045
00046 #endif // MUID_MUID_H