Changeset 290 in svn
- Timestamp:
- Mar 3, 2009, 12:48:15 AM (16 years ago)
- Location:
- trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Delphes.cpp
r270 r290 318 318 vector<fastjet::PseudoJet> input_particles;//for FastJet algorithm 319 319 vector<fastjet::PseudoJet> sorted_jets; 320 vector<TLorentzVector> TrackCentral; 320 //vector<TLorentzVector> TrackCentral; 321 vector<TRootTracks> TrackCentral; 321 322 vector<PhysicsTower> towers; 322 323 //vector<ParticleUtil> electron; … … 326 327 //vector<ParticleUtil> gamma; 327 328 vector<D_Particle> gamma; 329 330 bool FLAG_lhco = true; 328 331 329 332 TSimpleArray<TRootGenParticle> NFCentralQ; … … 489 492 if( (rand()%100) < DET->TRACK_eff && sET!=0) { 490 493 elementTrack = (TRootTracks*) branchTrack->NewEntry(); 491 elementTrack->Set(particle->Eta, particle->Phi, particle->EtaCalo, particle->PhiCalo, sET );492 TrackCentral.push_back(elementTrack->GetFourVector()); // tracks at vertex!493 // TODO!!! associates the tracks to the calo where it points to494 elementTrack->Set(particle->Eta, particle->Phi, particle->EtaCalo, particle->PhiCalo, sET, particle->Charge); 495 //TrackCentral.push_back(elementTrack->GetFourVector()); // tracks at vertex! 496 TrackCentral.push_back(*elementTrack); // tracks at vertex! 494 497 // TODO!!! apply a smearing on the position of the origin of the track 495 498 // TODO!!! elementTracks->SetPositionOut(Xout,Yout,Zout); … … 577 580 elementElec->Charge = sign(electron[i].PID()); 578 581 elementElec->IsolFlag = DET->Isolation(electron[i].Phi(),electron[i].Eta(),TrackCentral,2.0);//isolation based on tracks 579 } 582 } /////////////// HARDCODING 580 583 DET->SortedVector(muon); 581 584 for(unsigned int i=0; i < muon.size(); i++) { … … 585 588 elementMu->EtaCalo = muon[i].EtaCalo(); 586 589 elementMu->PhiCalo = muon[i].PhiCalo(); 587 elementMu->IsolFlag = DET->Isolation(muon[i].Phi(),muon[i].Eta(),TrackCentral,2.0); 590 elementMu->IsolFlag = DET->Isolation(muon[i].Phi(),muon[i].Eta(),TrackCentral,2.0); /////////////// HARDCODING 588 591 } 589 592 DET->SortedVector(gamma); -
trunk/Utilities/ExRootAnalysis/interface/BlockClasses.h
r278 r290 289 289 //--------------------------------------------------------------------------- 290 290 291 class TRootTracks : public T RootParticle{291 class TRootTracks : public TSortableObject { 292 292 public: 293 293 TRootTracks(); // needed for storage in ExRootAnalysis … … 295 295 TRootTracks(const float inEta, const float inPhi, const float outEta, const float outPhi, const float pt); 296 296 TRootTracks& operator=(const TRootTracks& track); 297 void Set(const float inEta, const float inPhi, const float outEta, const float outPhi, const float pt );297 void Set(const float inEta, const float inPhi, const float outEta, const float outPhi, const float pt, const float charge); 298 298 const TLorentzVector GetFourVector() const; 299 //const float getEta() const {return Eta;}300 //const float getPhi() const {return Phi;}301 //const float getEtaOuter() const {return EtaOuter;}302 //const float getPhiOuter() const {return PhiOuter;}299 const float getEta() const {return Eta;} 300 const float getPhi() const {return Phi;} 301 const float getEtaOuter() const {return EtaOuter;} 302 const float getPhiOuter() const {return PhiOuter;} 303 303 304 304 static TCompare *fgCompare; //! 305 //const TCompare *GetCompare() const { return fgCompare; }306 307 //float Eta, Phi; // (eta,phi) at the beginning of the track305 const TCompare *GetCompare() const { return fgCompare; } 306 307 float Eta, Phi; // (eta,phi) at the beginning of the track 308 308 float EtaOuter, PhiOuter; // (eta,phi) at the end of the track 309 // float PT, E, Px, Py, Pz; // transverse momentum 309 float PT, E, Px, Py, Pz; // transverse momentum 310 float Charge; 310 311 ClassDef(TRootTracks, 1) 311 312 }; … … 352 353 public: 353 354 TRootTauJet() {}; 355 float Charge; // normally, using the charge of the track ; here using gen-level tau charge 354 356 355 357 // float E; // particle energy in GeV -
trunk/Utilities/ExRootAnalysis/src/BlockClasses.cc
r278 r290 126 126 } 127 127 128 float Eta, Phi; // (eta,phi) at the beginning of the track128 /* float Eta, Phi; // (eta,phi) at the beginning of the track 129 129 float EtaOuter, PhiOuter; // (eta,phi) at the end of the track 130 float PT, E, Px, Py, Pz; 130 float PT, E, Px, Py, Pz; */ 131 131 132 132 TRootTracks::TRootTracks() : 133 TRootParticle(), 134 EtaOuter(UNDEFINED), PhiOuter(UNDEFINED) {} 135 /* Eta = UNDEFINED; 136 Phi = UNDEFINED; 137 PT = UNDEFINED; 138 E = UNDEFINED; 139 Px = UNDEFINED; 140 Py = UNDEFINED; 141 Pz = UNDEFINED; 142 143 }*/ 133 Eta(UNDEFINED), Phi(UNDEFINED), EtaOuter(UNDEFINED), PhiOuter(UNDEFINED), 134 PT(UNDEFINED), E(UNDEFINED), Px(UNDEFINED), Py(UNDEFINED), Pz(UNDEFINED), 135 Charge(UNDEFINED) {} 144 136 145 137 TRootTracks::TRootTracks(const float inEta, const float inPhi, const float outEta, const float outPhi, const float pt) : 146 EtaOuter(outEta), PhiOuter(outPhi) { 147 Eta = inEta; 148 Phi = inPhi; 149 PT = pt; 138 Eta(inEta), Phi(inPhi), EtaOuter(outEta), PhiOuter(outPhi), 139 PT(pt) { 150 140 TLorentzVector p; p.SetPtEtaPhiE(PT,Eta,Phi,PT*cosh(Eta)); 151 141 Px = p.Px(); Py = p.Py(); Pz = p.Pz(); E=p.E(); 142 Charge = UNDEFINED; 152 143 } 153 144 TRootTracks::TRootTracks(const TRootTracks& track) : 154 EtaOuter(track.EtaOuter), PhiOuter(track.PhiOuter) 155 { 156 Eta = track.Eta; 157 Phi = track.Phi; 158 PT = track.PT; 159 E = track.E; 160 Px = track.Px; 161 Py = track.Py; 162 Pz = track.Pz; 163 } 145 Eta(track.Eta), Phi(track.Phi), 146 EtaOuter(track.EtaOuter), PhiOuter(track.PhiOuter), 147 PT(track.PT), E(track.E), Px(track.Px), Py(track.Py), Pz(track.Pz), Charge(track.Charge) {} 164 148 165 149 TRootTracks& TRootTracks::operator=(const TRootTracks& track) { … … 168 152 EtaOuter = track.EtaOuter; PhiOuter = track.PhiOuter; 169 153 PT = track.PT; E = track.E; Px = track.Px; Py= track.Py; Pz =track.Pz; 154 Charge = track.Charge; 170 155 return *this; 171 156 } 172 157 173 void TRootTracks::Set(const float inEta, const float inPhi, const float outEta, const float outPhi, const float pt ) {158 void TRootTracks::Set(const float inEta, const float inPhi, const float outEta, const float outPhi, const float pt, const float charge) { 174 159 Eta= inEta; Phi=inPhi; EtaOuter=outEta; PhiOuter=outPhi; PT=pt; 175 160 TLorentzVector p; p.SetPtEtaPhiE(PT,Eta,Phi,PT*cosh(Eta)); 176 161 Px = p.Px(); Py = p.Py(); Pz = p.Pz(); E=p.E(); 162 Charge = charge; 177 163 } 178 164
Note:
See TracChangeset
for help on using the changeset viewer.