#include "AliFemtoSphericityEventCut.h"
#ifdef __ROOT__
ClassImp(AliFemtoSphericityEventCut)
#endif
AliFemtoSphericityEventCut::AliFemtoSphericityEventCut() :
AliFemtoEventCut(),
fEventMult(),
fVertZPos(),
fAcceptBadVertex(false),
fNEventsPassed(0),
fNEventsFailed(0),
fAcceptOnlyPhysics(0),
fStCutMin(0.0),
fStCutMax(1.0),
fSelectTrigger(0)
{
fEventMult[0] = 0;
fEventMult[1] = 100000;
fVertZPos[0] = -100.0;
fVertZPos[1] = 100.0;
fPsiEP[0] = -100.0;
fPsiEP[1] = 100.0;
fStCutMin = 0.0;
fStCutMax = 1.0;
}
AliFemtoSphericityEventCut::~AliFemtoSphericityEventCut(){
}
bool AliFemtoSphericityEventCut::Pass(const AliFemtoEvent* event){
int mult = (int) event->UncorrectedNumberOfPrimaries();
double vertexZPos = event->PrimVertPos().z();
double epvzero = event->ReactionPlaneAngle();
Int_t ParticleNumber = 0;
Double_t SumPt = 0;
Double_t S00=0;
Double_t S11=0;
Double_t S10=0;
Double_t Lambda1 = 0;
Double_t Lambda2 = 0;
Double_t St = 0;
AliFemtoTrackCollection * tracks = event->TrackCollection();
for (AliFemtoTrackIterator iter=tracks->begin();iter!=tracks->end();iter++){
Double_t NewPhi = (*iter)->P().Phi();
Double_t NewPt = (*iter)->Pt();
Double_t NewEta = (*iter)->P().PseudoRapidity();
if(TMath::Abs(NewEta)>0.8 || NewPt<0.5){continue;}
Double_t Px;
Double_t Py;
Px= NewPt * TMath::Cos(NewPhi);
Py= NewPt * TMath::Sin(NewPhi);
S00 = S00 + Px*Px/(NewPt);
S11 = S11 + Py*Py/(NewPt);
S10 = S10 + Px*Py/(NewPt);
SumPt = SumPt + NewPt;
ParticleNumber++;
}
if(SumPt==0){return kFALSE;}
S00 = S00/SumPt;
S11 = S11/SumPt;
S10 = S10/SumPt;
Lambda1 = (S00 + S11 + TMath::Sqrt((S00+S11)*(S00+S11)-4.0*(S00*S11-S10*S10)))/2.0;
Lambda2 = (S00 + S11 - TMath::Sqrt((S00+S11)*(S00+S11)-4.0*(S00*S11-S10*S10)))/2.0;
if(Lambda1+Lambda2!=0 && ParticleNumber>2)
{
St = 2*Lambda2/(Lambda1+Lambda2);
}
else{return kFALSE;};
if(St>fStCutMax || St<fStCutMin){
return kFALSE;}
bool goodEvent =
((mult >= fEventMult[0]) &&
(mult <= fEventMult[1]) &&
(vertexZPos > fVertZPos[0]) &&
(vertexZPos < fVertZPos[1]) &&
(epvzero > fPsiEP[0]) &&
(epvzero < fPsiEP[1]) &&
((!fAcceptBadVertex) || (event->ZDCParticipants() > 1.0)) &&
((!fSelectTrigger) || (event->TriggerCluster() == fSelectTrigger))
);
goodEvent ? fNEventsPassed++ : fNEventsFailed++ ;
return (goodEvent);
}
AliFemtoString AliFemtoSphericityEventCut::Report(){
string stemp;
char ctemp[100];
snprintf(ctemp , 100, "\nMultiplicity:\t %d-%d",fEventMult[0],fEventMult[1]);
stemp = ctemp;
snprintf(ctemp , 100, "\nVertex Z-position:\t %E-%E",fVertZPos[0],fVertZPos[1]);
stemp += ctemp;
snprintf(ctemp , 100, "\nNumber of events which passed:\t%ld Number which failed:\t%ld",fNEventsPassed,fNEventsFailed);
stemp += ctemp;
AliFemtoString returnThis = stemp;
return returnThis;
}
void AliFemtoSphericityEventCut::SetAcceptBadVertex(bool b)
{
fAcceptBadVertex = b;
}
bool AliFemtoSphericityEventCut::GetAcceptBadVertex()
{
return fAcceptBadVertex;
}
AliFemtoSphericityEventCut.cxx:1 AliFemtoSphericityEventCut.cxx:2 AliFemtoSphericityEventCut.cxx:3 AliFemtoSphericityEventCut.cxx:4 AliFemtoSphericityEventCut.cxx:5 AliFemtoSphericityEventCut.cxx:6 AliFemtoSphericityEventCut.cxx:7 AliFemtoSphericityEventCut.cxx:8 AliFemtoSphericityEventCut.cxx:9 AliFemtoSphericityEventCut.cxx:10 AliFemtoSphericityEventCut.cxx:11 AliFemtoSphericityEventCut.cxx:12 AliFemtoSphericityEventCut.cxx:13 AliFemtoSphericityEventCut.cxx:14 AliFemtoSphericityEventCut.cxx:15 AliFemtoSphericityEventCut.cxx:16 AliFemtoSphericityEventCut.cxx:17 AliFemtoSphericityEventCut.cxx:18 AliFemtoSphericityEventCut.cxx:19 AliFemtoSphericityEventCut.cxx:20 AliFemtoSphericityEventCut.cxx:21 AliFemtoSphericityEventCut.cxx:22 AliFemtoSphericityEventCut.cxx:23 AliFemtoSphericityEventCut.cxx:24 AliFemtoSphericityEventCut.cxx:25 AliFemtoSphericityEventCut.cxx:26 AliFemtoSphericityEventCut.cxx:27 AliFemtoSphericityEventCut.cxx:28 AliFemtoSphericityEventCut.cxx:29 AliFemtoSphericityEventCut.cxx:30 AliFemtoSphericityEventCut.cxx:31 AliFemtoSphericityEventCut.cxx:32 AliFemtoSphericityEventCut.cxx:33 AliFemtoSphericityEventCut.cxx:34 AliFemtoSphericityEventCut.cxx:35 AliFemtoSphericityEventCut.cxx:36 AliFemtoSphericityEventCut.cxx:37 AliFemtoSphericityEventCut.cxx:38 AliFemtoSphericityEventCut.cxx:39 AliFemtoSphericityEventCut.cxx:40 AliFemtoSphericityEventCut.cxx:41 AliFemtoSphericityEventCut.cxx:42 AliFemtoSphericityEventCut.cxx:43 AliFemtoSphericityEventCut.cxx:44 AliFemtoSphericityEventCut.cxx:45 AliFemtoSphericityEventCut.cxx:46 AliFemtoSphericityEventCut.cxx:47 AliFemtoSphericityEventCut.cxx:48 AliFemtoSphericityEventCut.cxx:49 AliFemtoSphericityEventCut.cxx:50 AliFemtoSphericityEventCut.cxx:51 AliFemtoSphericityEventCut.cxx:52 AliFemtoSphericityEventCut.cxx:53 AliFemtoSphericityEventCut.cxx:54 AliFemtoSphericityEventCut.cxx:55 AliFemtoSphericityEventCut.cxx:56 AliFemtoSphericityEventCut.cxx:57 AliFemtoSphericityEventCut.cxx:58 AliFemtoSphericityEventCut.cxx:59 AliFemtoSphericityEventCut.cxx:60 AliFemtoSphericityEventCut.cxx:61 AliFemtoSphericityEventCut.cxx:62 AliFemtoSphericityEventCut.cxx:63 AliFemtoSphericityEventCut.cxx:64 AliFemtoSphericityEventCut.cxx:65 AliFemtoSphericityEventCut.cxx:66 AliFemtoSphericityEventCut.cxx:67 AliFemtoSphericityEventCut.cxx:68 AliFemtoSphericityEventCut.cxx:69 AliFemtoSphericityEventCut.cxx:70 AliFemtoSphericityEventCut.cxx:71 AliFemtoSphericityEventCut.cxx:72 AliFemtoSphericityEventCut.cxx:73 AliFemtoSphericityEventCut.cxx:74 AliFemtoSphericityEventCut.cxx:75 AliFemtoSphericityEventCut.cxx:76 AliFemtoSphericityEventCut.cxx:77 AliFemtoSphericityEventCut.cxx:78 AliFemtoSphericityEventCut.cxx:79 AliFemtoSphericityEventCut.cxx:80 AliFemtoSphericityEventCut.cxx:81 AliFemtoSphericityEventCut.cxx:82 AliFemtoSphericityEventCut.cxx:83 AliFemtoSphericityEventCut.cxx:84 AliFemtoSphericityEventCut.cxx:85 AliFemtoSphericityEventCut.cxx:86 AliFemtoSphericityEventCut.cxx:87 AliFemtoSphericityEventCut.cxx:88 AliFemtoSphericityEventCut.cxx:89 AliFemtoSphericityEventCut.cxx:90 AliFemtoSphericityEventCut.cxx:91 AliFemtoSphericityEventCut.cxx:92 AliFemtoSphericityEventCut.cxx:93 AliFemtoSphericityEventCut.cxx:94 AliFemtoSphericityEventCut.cxx:95 AliFemtoSphericityEventCut.cxx:96 AliFemtoSphericityEventCut.cxx:97 AliFemtoSphericityEventCut.cxx:98 AliFemtoSphericityEventCut.cxx:99 AliFemtoSphericityEventCut.cxx:100 AliFemtoSphericityEventCut.cxx:101 AliFemtoSphericityEventCut.cxx:102 AliFemtoSphericityEventCut.cxx:103 AliFemtoSphericityEventCut.cxx:104 AliFemtoSphericityEventCut.cxx:105 AliFemtoSphericityEventCut.cxx:106 AliFemtoSphericityEventCut.cxx:107 AliFemtoSphericityEventCut.cxx:108 AliFemtoSphericityEventCut.cxx:109 AliFemtoSphericityEventCut.cxx:110 AliFemtoSphericityEventCut.cxx:111 AliFemtoSphericityEventCut.cxx:112 AliFemtoSphericityEventCut.cxx:113 AliFemtoSphericityEventCut.cxx:114 AliFemtoSphericityEventCut.cxx:115 AliFemtoSphericityEventCut.cxx:116 AliFemtoSphericityEventCut.cxx:117 AliFemtoSphericityEventCut.cxx:118 AliFemtoSphericityEventCut.cxx:119 AliFemtoSphericityEventCut.cxx:120 AliFemtoSphericityEventCut.cxx:121 AliFemtoSphericityEventCut.cxx:122 AliFemtoSphericityEventCut.cxx:123 AliFemtoSphericityEventCut.cxx:124 AliFemtoSphericityEventCut.cxx:125 AliFemtoSphericityEventCut.cxx:126 AliFemtoSphericityEventCut.cxx:127 AliFemtoSphericityEventCut.cxx:128 AliFemtoSphericityEventCut.cxx:129 AliFemtoSphericityEventCut.cxx:130 AliFemtoSphericityEventCut.cxx:131 AliFemtoSphericityEventCut.cxx:132 AliFemtoSphericityEventCut.cxx:133 AliFemtoSphericityEventCut.cxx:134 AliFemtoSphericityEventCut.cxx:135 AliFemtoSphericityEventCut.cxx:136 AliFemtoSphericityEventCut.cxx:137 AliFemtoSphericityEventCut.cxx:138 AliFemtoSphericityEventCut.cxx:139 AliFemtoSphericityEventCut.cxx:140 AliFemtoSphericityEventCut.cxx:141 AliFemtoSphericityEventCut.cxx:142 AliFemtoSphericityEventCut.cxx:143 AliFemtoSphericityEventCut.cxx:144 AliFemtoSphericityEventCut.cxx:145 AliFemtoSphericityEventCut.cxx:146 AliFemtoSphericityEventCut.cxx:147 AliFemtoSphericityEventCut.cxx:148 AliFemtoSphericityEventCut.cxx:149 AliFemtoSphericityEventCut.cxx:150 AliFemtoSphericityEventCut.cxx:151 AliFemtoSphericityEventCut.cxx:152 AliFemtoSphericityEventCut.cxx:153 AliFemtoSphericityEventCut.cxx:154 AliFemtoSphericityEventCut.cxx:155 AliFemtoSphericityEventCut.cxx:156 AliFemtoSphericityEventCut.cxx:157 AliFemtoSphericityEventCut.cxx:158 AliFemtoSphericityEventCut.cxx:159 AliFemtoSphericityEventCut.cxx:160 AliFemtoSphericityEventCut.cxx:161 AliFemtoSphericityEventCut.cxx:162 AliFemtoSphericityEventCut.cxx:163 AliFemtoSphericityEventCut.cxx:164 AliFemtoSphericityEventCut.cxx:165 AliFemtoSphericityEventCut.cxx:166 AliFemtoSphericityEventCut.cxx:167