#include "TFile.h"
#include "TTree.h"
+#include "TRandom3.h"
#include "AliAODEvent.h"
#include "AliAODTrack.h"
#include "AliAODVertex.h"
fMagFieldSign(1),
fisEPVZ(kTRUE),
fpA2013(kFALSE),
- fDCAglobalTrack(kFALSE)
+ fDCAglobalTrack(kFALSE),
+ fFlatCent(kFALSE)
{
// default constructor
fAllTrue.ResetAllBits(kTRUE);
fMagFieldSign(1),
fisEPVZ(kTRUE),
fpA2013(kFALSE),
- fDCAglobalTrack(kFALSE)
+ fDCAglobalTrack(kFALSE),
+ fFlatCent(kFALSE)
{
// copy constructor
fReadMC = aReader.fReadMC;
fEstEventMult = aReader.fEstEventMult;
fpA2013 = aReader.fpA2013;
fDCAglobalTrack = aReader.fDCAglobalTrack;
+ fFlatCent= aReader.fFlatCent;
return *this;
}
}
}
+ float percent = cent->GetCentralityPercentile("V0M");
+//flatten centrality dist.
+ if(percent < 9){
+ if(fFlatCent){
+ if(RejectEventCentFlat(fEvent->GetMagneticField(),percent)) return;
+ }
+ }
+
int realnofTracks=0; // number of track which we use in a analysis
int tracksPrim=0;
if (aodtrack->Eta() < 0.8)
tNormMult++;
}
- }
+ }
CopyAODtoFemtoTrack(aodtrack, trackCopy);
}
// }
- tEvent->TrackCollection()->push_back(trackCopy);//adding track to analysis
+ tEvent->TrackCollection()->push_back(trackCopy);//adding track to analysis
realnofTracks++;//real number of tracks
}
fDCAglobalTrack = dcagt;
}
+
+bool AliFemtoEventReaderAOD::RejectEventCentFlat(float MagField, float CentPercent)
+{ // to flatten centrality distribution
+ bool RejectEvent = kFALSE;
+ int weightBinSign;
+ TRandom3* fRandomNumber = new TRandom3(); //for 3D, random sign switching
+ fRandomNumber->SetSeed(0);
+
+ if(MagField > 0) weightBinSign = 0;
+ else weightBinSign = 1;
+ float kCentWeight[2][9] = {{.878,.876,.860,.859,.859,.88,.873,.879,.894},
+ {.828,.793,.776,.772,.775,.796,.788,.804,.839}};
+ int weightBinCent = (int) CentPercent;
+ if(fRandomNumber->Rndm() > kCentWeight[weightBinSign][weightBinCent]) RejectEvent = kTRUE;
+
+ return RejectEvent;
+}
+
+void AliFemtoEventReaderAOD::SetCentralityFlattening(Bool_t dcagt)
+{
+ fFlatCent = dcagt;
+}
void SetpA2013(Bool_t pa2013);
void SetDCAglobalTrack(Bool_t dcagt);
+ bool RejectEventCentFlat(float MagField, float CentPercent);
+ void SetCentralityFlattening(Bool_t flat);
+
protected:
virtual void CopyAODtoFemtoEvent(AliFemtoEvent *tEvent);
virtual void CopyAODtoFemtoTrack( AliAODTrack *tAodTrack,
Bool_t fpA2013; // analysis on pA 2013 data
Bool_t fDCAglobalTrack; // to get DCA from global tracks instead of TPC-only
+ bool fFlatCent;
+
#ifdef __ROOT__
ClassDef(AliFemtoEventReaderAOD, 11)
};
#endif
-
-