Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 77887
b: "refs/heads/CMSSW_7_1_X"
c: 3a94378
h: "refs/heads/CMSSW_7_1_X"
i:
  77885: b983531
  77883: c516fc3
  77879: 0c31382
  77871: 593ddd2
  77855: 7881b6b
  77823: b3b949c
v: v3
  • Loading branch information
Ronald Charles Remington committed Nov 13, 2009
1 parent d2d6bc0 commit e8ff028
Show file tree
Hide file tree
Showing 2 changed files with 85 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
---
refs/heads/gh-pages: 09c786f70121f131b3715aaf3464996502bbeb7e
"refs/heads/CMSSW_7_1_X": a56bc8179d4af6e7d1169334c1418cbfcb77992c
"refs/heads/CMSSW_7_1_X": 3a9437898dfee2ce6854565744b2c66e5585e76b
84 changes: 84 additions & 0 deletions trunk/DataFormats/METReco/interface/PhiWedge.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
#ifndef DATAFORMATS_METRECO_PHIWEDGE_H
#define DATAFORMATS_METRECO_PHIWEDGE_H
/*
[class]: PhiWedge
[authors]: R. Remington, The University of Florida
[description]: Simple class analogous to CaloTower but in z-direction. Stores basic information related to Hcal and Ecal rechits within constant 5-degree phi windows. The idea will be to match these reconstructed phi-wedges with csc tracks for BeamHalo identification.
[date]: October 15, 2009
*/
#include "TMath.h"
#include <vector>
namespace reco{

class PhiWedge {

public:
// Constructors
PhiWedge();
PhiWedge(float E, int iphi, int constituents);
PhiWedge(float E, int iphi, int constituents, float min_time , float max_time);
PhiWedge(const PhiWedge&);
// Destructors

~PhiWedge(){}

// Energy sum of all rechits above threshold in this 5-degree window
float Energy() const {return energy_;}

// Number of rechits above threshold in this 5-degree window
int NumberOfConstituents() const {return constituents_;}

// iPhi value of this 5-degree window
int iPhi() const {return iphi_;}

// Global phi lower bound of this 5-degree window (between 0 and 2Pi)
float PhiLow() const {return 2.*TMath::Pi()*(float)((iphi_ * 5)-(5.));}

// Global phi upper bound of this 5-degree window (between 0 and 2Pi
float PhiHigh() const {return 2.*TMath::Pi()*(float)((iphi_* 5));}

// Get Min/Max Time
float MinTime()const{return min_time_;}
float MaxTime()const{return max_time_;}

// Get halo direction confidence based on time ordering of the rechits ( must be within range of -1 to + 1 )
// Direction is calculated by counting the number of pair-wise time-ascending rechits from -Z to +Z and then normalizing this count by number of pair-wise combinations
// If all pair-wise combinations are consistent with a common z-direction, then this value will be plus or minus 1 exactly. Otherwise it will be somewhere in between.
float PlusZDirectionConfidence() const { return (-1.)*PlusZOriginConfidence_;}
float MinusZDirectionConfidence() const { return PlusZOriginConfidence_ ;}
// Get halo origin confidence based on time ordering of the rechits
float PlusZOriginConfidence() const { return PlusZOriginConfidence_ ;}
float MinusZOriginConfidence() const { return (-1.)* PlusZOriginConfidence_;}

// To be filled later or removed
int OverlappingCSCTracks() const {return OverlappingCSCTracks_;}
int OverlappingCSCSegments()const {return OverlappingCSCSegments_;}
int OverlappingCSCRecHits() const {return OverlappingCSCRecHits_;}
int OverlappingCSCHaloTriggers() const {return OverlappingCSCHaloTriggers_;}

// Setters
void SetOverlappingCSCTracks(int x) { OverlappingCSCTracks_ = x;}
void SetOverlappingCSCSegments(int x) { OverlappingCSCSegments_ =x;}
void SetOverlappingCSCRecHits(int x){ OverlappingCSCRecHits_ =x ;}
void SetOverlappingCSCHaloTriggers(int x){ OverlappingCSCHaloTriggers_ = x ;}
void SetMinMaxTime(float min, float max ){ min_time_ = min; max_time_ = max;}
void SetPlusZOriginConfidence( float x ) { PlusZOriginConfidence_ = x ;}



private:
float energy_;
int iphi_;
int constituents_;
float min_time_;
float max_time_;
float PlusZOriginConfidence_;
int OverlappingCSCTracks_;
int OverlappingCSCSegments_;
int OverlappingCSCRecHits_;
int OverlappingCSCHaloTriggers_;

};
typedef std::vector<PhiWedge> PhiWedgeCollection;
}
#endif

0 comments on commit e8ff028

Please sign in to comment.