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

Comparing UserCode/MitAna/DataTree/interface/SuperCluster.h (file contents):
Revision 1.1 by sixie, Fri Aug 8 11:12:37 2008 UTC vs.
Revision 1.11 by loizides, Wed Mar 18 15:44:32 2009 UTC

# Line 3 | Line 3
3   //
4   // SuperCluster
5   //
6 < // Details to be worked out...
6 > // This class holds the super cluster information.
7   //
8   // Authors: S.Xie
9   //--------------------------------------------------------------------------------------------------
10  
11 < #ifndef DATATREE_SUPERCLUSTER_H
12 < #define DATATREE_SUPERCLUSTER_H
11 > #ifndef MITANA_DATATREE_SUPERCLUSTER_H
12 > #define MITANA_DATATREE_SUPERCLUSTER_H
13  
14   #include <TMath.h>
15 + #include "MitCommon/DataFormats/interface/Vect3C.h"
16   #include "MitAna/DataTree/interface/DataObject.h"
17   #include "MitAna/DataTree/interface/BasicCluster.h"
18   #include "MitAna/DataCont/interface/RefArray.h"
19 + #include "MitAna/DataCont/interface/Ref.h"
20  
21   namespace mithep
22   {
23    class SuperCluster : public DataObject
24    {
25      public:
26 <      SuperCluster() : fEnergy(0.0), fPoint(0,0,0) , fRawEnergy(-1.0) {}    
27 <      ~SuperCluster() {}
26 >      SuperCluster() : fEnergy(0), fEtaWidth(0), fPreshowerEnergy(0),
27 >                       fPhiWidth(0), fRawEnergy(0) {}    
28  
29 <      const BasicCluster  *Cluster(UInt_t i)    const { return fClusters.At(i); }
30 <      UInt_t               ClusterSize() const { return fClusters.GetEntries(); }
31 <      Double_t             Energy() const { return fEnergy; }      
32 <      Double_t             Eta() const { return fPoint.Eta(); }
33 <      Double_t             EtaWidth() const { return fEtaWidth; }
34 <      Double_t             Phi() const { return fPoint.Phi(); }
35 <      Double_t             PhiWidth() const { return fPhiWidth; }
36 <      Double_t             PreshowerEnergy() const { return fPreshowerEnergy; }
37 <      Double_t             RawEnergy() const { return fRawEnergy; }      
38 <      const BasicCluster  *Seed() const;      
37 <      Double_t             X() const { return fPoint.X(); }
38 <      Double_t             Y() const { return fPoint.Y(); }
39 <      Double_t             Z() const { return fPoint.Z(); }                        
29 >      void                 AddCluster(const BasicCluster *c)            { fClusters.Add(c);       }
30 >      const BasicCluster  *Cluster(UInt_t i)       const { return fClusters.At(i);                }
31 >      UInt_t               ClusterSize()           const { return fClusters.GetEntries();         }
32 >      Double_t             Energy()                const { return fEnergy;                        }  
33 >      Double_t             Eta()                   const { return fPoint.Eta();                   }
34 >      Double_t             EtaWidth()              const { return fEtaWidth;                      }
35 >      EObjType             ObjType()               const { return kSuperCluster;                  }  
36 >      Double_t             Phi()                   const { return fPoint.Phi();                   }
37 >      Double_t             PhiWidth()              const { return fPhiWidth;                      }
38 >      ThreeVectorC         Point()                 const { return fPoint.V();                     }
39        void                 Print(Option_t *opt="") const;
40 <
41 <      void                 AddCluster( BasicCluster *Cluster)           { fClusters.Add(Cluster); }
42 <      void                 SetEnergy(Double_t Energy)                   { fEnergy = Energy;       }
43 <      void                 SetEtaWidth(Double_t EtaWidth)               { fEtaWidth = EtaWidth;   }
44 <      void                 SetPhiWidth(Double_t PhiWidth)               { fPhiWidth = PhiWidth;   }
45 <      void                 SetPreshowerEnergy(Double_t PreshowerEnergy) { fPreshowerEnergy
46 <                                                                            = PreshowerEnergy;    }
47 <      void                 SetRawEnergy(Double_t RawEnergy)             { fRawEnergy = RawEnergy; }
48 <      void                 SetSeed( BasicCluster* SeedRef)              { fSeedRef = SeedRef;     }
40 >      Double_t             PreshowerEnergy()       const { return fPreshowerEnergy;               }
41 >      Double_t             RawEnergy()             const { return fRawEnergy;                     }  
42 >      Double_t             Rho()                   const { return fPoint.Rho();                   }
43 >      const BasicCluster  *Seed()                  const { return fSeedRef.Obj();                 }  
44 >      void                 SetEnergy(Double_t energy)                   { fEnergy = energy;       }
45 >      void                 SetEtaWidth(Double_t etaWidth)               { fEtaWidth = etaWidth;   }
46 >      void                 SetPhiWidth(Double_t phiWidth)               { fPhiWidth = phiWidth;   }
47 >      void                 SetPreshowerEnergy(Double_t e)               { fPreshowerEnergy = e;   }
48 >      void                 SetRawEnergy(Double_t rawEnergy)             { fRawEnergy = rawEnergy; }
49 >      void                 SetSeed(const BasicCluster *s)               { fSeedRef = s;           }
50        void                 SetXYZ(Double_t x, Double_t y, Double_t z)   { fPoint.SetXYZ(x,y,z);   }
51        
52      protected:
53 <      
54 <      Double_t                  fEnergy;          //Supercluster energy    
55 <      Double_t                  fEtaWidth;        //Width in Phi
56 <      ThreeVector               fPoint;           //Centroid Position
57 <      Double_t                  fPreshowerEnergy; //Energy in the preshower
58 <      Double_t                  fPhiWidth;        //Width in Phi
59 <      Double_t                  fRawEnergy;       //Supercluster raw energy
60 <      RefArray<BasicCluster>    fClusters;        //||BasicClusters in this SuperCluster
61 <      TRef                      fSeedRef;         //the seed cluster
53 >      Vect3C                      fPoint;           //centroid Position
54 >      Double32_t                  fEnergy;          //[0,0,14]super cluster energy    
55 >      Double32_t                  fEtaWidth;        //[0,0,14]width in Phi
56 >      Double32_t                  fPreshowerEnergy; //[0,0,14]energy in the preshower
57 >      Double32_t                  fPhiWidth;        //[0,0,14]width in Phi
58 >      Double32_t                  fRawEnergy;       //[0,0,14]super cluster raw energy
59 >      RefArray<BasicCluster>      fClusters;        //assigned basic clusters
60 >      Ref<BasicCluster>           fSeedRef;         //seed cluster
61  
62 <      ClassDef(SuperCluster, 1) // Generic particle class
62 >    ClassDef(SuperCluster, 1) // Super cluster class
63    };
64   }
66
67 //--------------------------------------------------------------------------------------------------
68 inline const mithep::BasicCluster *mithep::SuperCluster::Seed() const
69 {
70  // Return tracker track.
71
72  return static_cast<const BasicCluster*>(fSeedRef.GetObject());
73 }
65   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines