ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/L1RpcTriggerAnalysis/interface/L1ObjColl.h
(Generate patch)

Comparing UserCode/L1RpcTriggerAnalysis/interface/L1ObjColl.h (file contents):
Revision 1.5 by konec, Tue Oct 30 11:13:16 2012 UTC vs.
Revision 1.8 by konec, Sun Dec 16 22:56:14 2012 UTC

# Line 3 | Line 3
3  
4   #include "UserCode/L1RpcTriggerAnalysis/interface/L1Obj.h"
5   #include <vector>
6 + #include <cmath>
7  
8   class L1ObjColl : public TObject {
9  
# Line 14 | Line 15 | public:
15    void set(const std::vector<L1Obj> & obj) { theL1Obj = obj; }
16    void set(const std::vector<bool> & comp) { theL1Matching = comp; }
17    void set(const std::vector<double> & dr) { theDeltaR = dr; }
18 +  void push_back(const L1Obj & obj, bool match, double deltaR);
19  
20    const std::vector<L1Obj> & getL1Objs() const { return theL1Obj; }
21    const std::vector<bool> & getL1ObjsMatching() const { return theL1Matching; }
22    const std::vector<double> & getL1ObjDeltaR() const { return theDeltaR; }
23 +
24 +  L1ObjColl l1RpcColl() const {
25 +    return selectByType(L1Obj::RPCb)+selectByType(L1Obj::RPCf);
26 +  }
27 +  L1ObjColl l1RpcCollEmu() const {
28 +    return selectByType(L1Obj::RPCb_emu)+selectByType(L1Obj::RPCf_emu);
29 +  }
30 +  L1ObjColl l1OthColl() const {
31 +    return selectByType(L1Obj::DT)+selectByType(L1Obj::CSC);
32 +  }
33 +
34 +  L1ObjColl selectByType( TYPE t1) const;
35 +  L1ObjColl selectByPt( double ptMin = 0., double ptMax = 161.) const;
36 +  L1ObjColl selectByPtMin( double ptMin = 0.) const;
37 +  L1ObjColl selectByEta( double etaMin = -1.61, double etaMax = 1.61) const;
38 +  L1ObjColl selectByBx(  int bxMin = 0, int bxMax = 0) const;
39 +  L1ObjColl selectByQuality( int qMin = 0, int qMax = 7) const;
40 +  L1ObjColl selectByMatched() const;
41 +  L1ObjColl selectByDeltaR( double deltaRMax) const;
42 +  L1ObjColl operator+(const L1ObjColl &o) const;
43 +  operator bool() const {return !theL1Obj.empty(); }
44 +  bool operator!() const {return theL1Obj.empty(); }
45 +
46 +  inline bool isMatching_DRBx(double deltaR, int bx) const {
47 +    for (unsigned int i=0; i< theL1Obj.size(); i++) if ( (bx ==  theL1Obj[i].bx) && ( theDeltaR[i] < deltaR) ) return true;
48 +    return false;
49 +  }
50 +  inline bool isMatching_PtminPtmaxBx(double ptMin, double ptMax, int bx ) const {
51 +    for (unsigned int i=0; i< theL1Obj.size(); i++) if ( (theL1Obj[i].pt >= ptMin && theL1Obj[i].pt < ptMax) && (bx ==  theL1Obj[i].bx) ) return true;
52 +    return false;
53 +  }
54  
55 < /*
23 <  L1ObjColl selectByType( TYPE t1=L1Obj::NONE, TYPE t2=L1Obj::NONE, TYPE t3=L1Obj::NONE, TYPE t4=L1Obj::NONE);
24 <  L1ObjColl selectByPtMin( double ptMin = 0.);
25 <  L1ObjColl selectByEta( double etaMin = -2.5, double etaMax = 2.5);
26 <  L1ObjColl selectByBx(  int bxMin = 0, int bxMax = 0);
27 <  L1ObjColl selectByQuality( int qMin = 0, int qMax = 7);
28 <  L1ObjColl operator+(const L1ObjColl& , const L1ObjColl&) const;
29 < */
30 <
31 <  void print() const;
55 >  friend ostream & operator<< (ostream &out, const L1ObjColl&s);
56  
57   //tmp
58    std::vector<L1Obj> getL1ObjsMatched(double ptMin = 0) const;
# Line 40 | Line 64 | public:
64                    double phiMin = 0., double phiMax = 7.,
65                    int qMin = 0, int qMax = 7) const;
66    static  std::vector<L1Obj> typeSelector(const  std::vector<L1Obj> & col,  TYPE t1=L1Obj::NONE, TYPE t2=L1Obj::NONE, TYPE t3=L1Obj::NONE, TYPE t4=L1Obj::NONE);
43  
67    
68   private:
69    std::vector<L1Obj> theL1Obj;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines