12 #ifndef __STESTRUCTHIJING__H
13 #define __STESTRUCTHIJING__H
15 #include "StEStructPool/AnalysisMaker/StEStructEventReader.h"
19 #include "../THijing/THijing.h"
28 bool museImpactParameter;
36 int filterTrackArea();
38 bool isTrackGood(
int i);
39 int countGoodTracks();
47 bool useImpactParameter =
true,
48 int eventsToDo = 100);
51 void setHijingReader(
THijing* hijing);
53 bool setInChain(
bool inChain);
55 bool measureable(
int pid);
56 float* globalDCA(
float* p,
float* v);
61 virtual double getImpact();
62 virtual double getBinary();
63 virtual double getParticipants();
69 inline bool StEStructHijing::done(){
return mAmDone; };
70 inline bool StEStructHijing::setInChain(
bool inChain) {
74 inline bool StEStructHijing::InChain(){
return mInChain; };
76 inline double StEStructHijing::getImpact(){
return mHijing->GetImpactParameter(); };
77 inline double StEStructHijing::getBinary(){
return mHijing->GetBinaryCollisions(); };
78 inline double StEStructHijing::getParticipants(){
return mHijing->GetParticipants(); };
81 inline bool StEStructHijing::measureable(
int pid){
149 inline float* StEStructHijing::globalDCA(
float* p,
float* v){
152 float* r=
new float[4];
153 r[0]=r[1]=r[2]=r[3]=0;
156 float a = v[0] * p[0] + v[1] * p[1] + v[2] * p[2] ;
157 a = a / sqrt(p[0]*p[0] + p[1]*p[1] + p[2]*p[2]);
159 r[3] = sqrt(v[0]*v[0] + v[1]*v[1] + v[2]*v[2] - a*a);