Fork me on GitHub

Ignore:
Timestamp:
Feb 11, 2009, 10:22:30 AM (16 years ago)
Author:
Xavier Rouby
Message:

first test 2.0

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Utilities/ExRootAnalysis/src/BlockClasses.cc

    r220 r264  
    1111 *  to preserve mother-dautherlinks between particles.
    1212 *
    13  *  $Date: 2009-02-02 11:32:01 $
    14  *  $Revision: 1.7 $
     13 *  $Date: 2009-02-11 09:19:14 $
     14 *  $Revision: 1.8 $
    1515 *
    1616 * 
     
    2222#include "BlockCompare.h"
    2323#include "TLorentzVector.h"
     24#include <cmath>
    2425
    2526TCompare *TRootGenParticle::fgCompare = 0;
     
    3839TCompare *TRootRomanPotHits::fgCompare =0;
    3940TCompare *TRootTrigger::fgCompare =0;
     41//TCompare *D_CaloTower::fgCompare=0;
     42TCompare *D_Track::fgCompare=0;
    4043
    4144void TRootParticle::Set(const TLorentzVector& momentum) {
     
    6164}
    6265
     66void TRootParticle::SetEtaPhiEET(const float eta, const float phi, const float e, const float et) {
     67   Eta = eta; Phi = phi; E = e; PT = et;
     68   //float theta = 2* atan(exp(-Eta);
     69   Px = PT*cos(Phi);
     70   Py = PT*sin(Phi);
     71}
    6372
     73
     74void TRootGenParticle::setFractions() {
     75  switch(abs(PID)) {
     76    default:  _Fem = 0; _Fhad=1; break;
     77    case(pE):
     78    case(pGAMMA):
     79    case(pPI0):
     80        _Fem = 1; _Fhad=0; break;
     81    case(pNU1):
     82    case(pNU2):
     83    case(pNU3):
     84    case(pMU):
     85        _Fem =0; _Fhad=0; break;
     86    case(pK0S):
     87    case(pLAMBDA):
     88        _Fem=0.3; _Fhad=0.7; break;
     89  }
     90  _initialised=true;
     91}
     92
     93    float Eta, Phi; // (eta,phi) at the beginning of the track
     94    float EtaOuter, PhiOuter; // (eta,phi) at the end of the track
     95    float PT, E, Px, Py, Pz;
     96
     97D_Track::D_Track() :
     98        Eta(UNDEFINED), Phi(UNDEFINED), EtaOuter(UNDEFINED), PhiOuter(UNDEFINED),
     99        PT(UNDEFINED), E(UNDEFINED), Px(UNDEFINED), Py(UNDEFINED), Pz(UNDEFINED) {}
     100
     101D_Track::D_Track(const float inEta, const float inPhi, const float outEta, const float outPhi, const float pt) :
     102        Eta(inEta), Phi(inPhi), EtaOuter(outEta), PhiOuter(outPhi),
     103        PT(pt) {
     104        TLorentzVector p; p.SetPtEtaPhiE(PT,Eta,Phi,PT*cosh(Eta));
     105        Px = p.Px(); Py = p.Py(); Pz = p.Pz();  E=p.E();
     106}
     107
     108D_Track::D_Track(const D_Track& track) :
     109        Eta(track.Eta), Phi(track.Phi),
     110        EtaOuter(track.EtaOuter), PhiOuter(track.PhiOuter),
     111        PT(track.PT), E(track.E), Px(track.Px), Py(track.Py), Pz(track.Pz) {}
     112
     113D_Track& D_Track::operator=(const D_Track& track) {
     114  if(this == &track) return *this;
     115        Eta = track.Eta;             Phi = track.Phi;
     116        EtaOuter = track.EtaOuter;   PhiOuter = track.PhiOuter;
     117        PT = track.PT; E = track.E;  Px = track.Px;  Py= track.Py; Pz =track.Pz;
     118  return *this;
     119}
     120
     121void D_Track::Set(const float inEta, const float inPhi, const float outEta, const float outPhi, const float pt) {
     122        Eta= inEta; Phi=inPhi;  EtaOuter=outEta; PhiOuter=outPhi; PT=pt;
     123        TLorentzVector p; p.SetPtEtaPhiE(PT,Eta,Phi,PT*cosh(Eta));
     124        Px = p.Px(); Py = p.Py(); Pz = p.Pz();  E=p.E();
     125}
     126
     127const TLorentzVector D_Track::GetFourVector() const {
     128        TLorentzVector v;
     129        v.SetPtEtaPhiE(PT,Eta,Phi,PT*cosh(Eta));
     130        return TLorentzVector(v);
     131}
     132
     133TRootCalo::TRootCalo() :
     134        E_em(UNDEFINED), E_had(UNDEFINED), ET(UNDEFINED) {}
     135        //Eta(UNDEFINED), Phi(UNDEFINED), E_em(UNDEFINED), E_had(UNDEFINED), E(UNDEFINED), ET(UNDEFINED) {}
     136
     137TRootCalo::TRootCalo(const TRootCalo& cal) {
     138        E_em=cal.E_em; E_had=cal.E_had;  ET=cal.ET;
     139        //Eta =cal.Eta;  Phi=cal.Phi; E_em=cal.E_em; E_had=cal.E_had;  E=cal.E;   ET=cal.ET;
     140}
     141
     142TRootCalo& TRootCalo::operator=(const TRootCalo& cal) {
     143   if(this==&cal) return *this;
     144        Eta =cal.Eta;  Phi=cal.Phi; E_em=cal.E_em; E_had=cal.E_had;  E=cal.E;   ET=cal.ET;
     145   return *this;
     146}
     147
     148void TRootCalo::set(const D_CaloTower& cal) {
     149        Eta =cal.getEta(); Phi=cal.getPhi();
     150        E_em=cal.getEem(); E_had=cal.getEhad();
     151        E   =cal.getE();   ET   =cal.getET();
     152        EtaCalo = cal.getEta();
     153        PhiCalo = cal.getPhi();
     154}
     155
     156
     157TRootTracks::TRootTracks(const D_Track& track) :
     158   E(track.getE()), Px(track.getPx()), Py(track.getPy()), Pz(track.getPz()),
     159   Eta(track.getEta()), Phi(track.getPhi()),
     160   /*Etaout(track.getEtaOuter()),*/ EtaCalo(track.getEtaOuter()), /*Phiout(track.getPhiOuter()),*/ PhiCalo(track.getPhiOuter()) {}
     161
Note: See TracChangeset for help on using the changeset viewer.