2 #include "AliAODHeader.h"
4 #include "AliMultiplicity.h"
20 fConversionCut(convCut),
28 fCurrentEventNumber(-1),
32 fInvMassRange[0]=0.05;
49 fCurrentEventNumber(-1),
57 fEventCut -> InitializeCutsFromCutString(evtCut.Data());
59 fConversionCut -> InitializeCutsFromCutString(convCut.Data());
61 fMesonCut -> InitializeCutsFromCutString(mesonCut.Data());
79 fCurrentEventNumber(-1),
138 AliWarning(
"Event already analyzed! Return.");
157 fBGPi0s =
new TClonesArray(
"AliAODConversionMother",100);
167 for(
Int_t i = 0; i < photons->GetEntriesFast(); i++) {
208 delete[] fUnsmearedPx; fUnsmearedPx = 0x0;
209 delete[] fUnsmearedPy; fUnsmearedPy = 0x0;
210 delete[] fUnsmearedPz; fUnsmearedPz = 0x0;
211 delete[] fUnsmearedE; fUnsmearedE = 0x0;
247 for(
Int_t firstGammaIndex=0;firstGammaIndex<
fGoodGammas->GetEntriesFast()-1;firstGammaIndex++){
249 if (gamma0==NULL)
continue;
252 for(
Int_t secondGammaIndex=firstGammaIndex+1;secondGammaIndex<
fGoodGammas->GetEntriesFast();secondGammaIndex++){
255 if (gamma1==NULL)
continue;
261 pi0cand.
SetLabels(firstGammaIndex,secondGammaIndex);
273 if(mcgam0->GetMother(0)==mcgam1->GetMother(0)){
308 Double_t nRadiansPM = nDegreesPMBackground*TMath::Pi()/180;
310 gamma->RotateZ(rotationValue);
322 for(
Int_t firstGammaIndex=0;firstGammaIndex<
fGoodGammas->GetEntriesFast();firstGammaIndex++){
324 if (gamma0 ==NULL)
continue;
325 for(
Int_t secondGammaIndex=firstGammaIndex+1;secondGammaIndex<
fGoodGammas->GetEntriesFast();secondGammaIndex++){
327 if (gamma1==NULL)
continue;
349 if(previousEventGammas){
359 for(
UInt_t iPrevious=0;iPrevious<previousEventGammas->size();iPrevious++){
401 fESDTrackCuts= AliESDtrackCuts::GetStandardITSTPCTrackCuts2010(kTRUE);
407 for(
Int_t iTracks = 0; iTracks < inputEvent->GetNumberOfTracks(); iTracks++){
408 AliESDtrack* currentTrack = esdEvent->GetTrack(iTracks);
409 if(!currentTrack)
continue;
413 for(
Int_t ii=0; ii<inputEvent->GetNumberOfTracks(); ii++) {
414 AliVTrack * track =
dynamic_cast<AliVTrack*
>(inputEvent->GetTrack(ii));
415 if (track==NULL)
continue;
426 AliVVZERO *vzero=inputEvent->GetVZEROData();
427 Double_t multV0A=vzero->GetMTotV0A();
428 Double_t multV0C=vzero->GetMTotV0C();
439 const AliMultiplicity *esdmult=esdEvent->GetMultiplicity();
440 return esdmult->GetNumberOfITSClusters(1);
443 AliAODHeader *header=(AliAODHeader*)inputEvent->GetHeader();
444 return header->GetNumberOfITSClusters(1);
454 return esdEvent->GetEventNumberInFile();
456 AliAODHeader *header=(AliAODHeader*)inputEvent->GetHeader();
457 return header->GetEventNumberESDFile();
TParticle * GetMCParticle(AliMCEvent *mcEvent)
Int_t GetNumberOfChargedTracks(AliVEvent *inputEvent)
AliAODConversionMother * GetPi0(Int_t index)
void SetLabels(Int_t label1, Int_t label2, Int_t label3=0)
void SetWeight(Double_t weight)
AliGammaConversionPhotonVector * GetBGGoodGammas(TObjArray *const eventGammas, AliVEvent *fInputEvent, Int_t event)
Int_t GetNBGEvents() const
void CalculateBackground()
AliAODConversionMother * GetBG(Int_t index)
Int_t GetNumberOfPhotons()
Bool_t UseRotationMethod()
void CalculatePi0Candidates()
Double_t GetVZEROMult(AliVEvent *inputEvent)
AliConversionPhotonCuts * fConversionCut
AliConversionAODBGHandlerRP * fBGHandler
Int_t fCurrentEventNumber
Int_t GetTrackLabelNegative() const
Bool_t MesonInMassWindow(AliAODConversionMother *pi0cand)
void SmearParticle(AliAODConversionPhoton *photon)
Double_t GetMultiplicity(AliVEvent *inputEvent)
Int_t GetTrackLabelPositive() const
Bool_t UseTrackMultiplicity()
AliAODConversionPhoton * GetPhoton(Int_t index)
virtual ~AliConversionSelection()
Class handling all kinds of selection cuts for Gamma Conversion analysis.
AliConvEventCuts * fEventCut
Bool_t EventIsSelected(AliVEvent *fInputEvent, AliMCEvent *fMCEvent)
Int_t GetNumberOfBGEvents()
Bool_t ProcessEvent(TClonesArray *photons, AliVEvent *inputEvent, AliMCEvent *mcEvent)
Double_t fInvMassRange[2]
Class handling all kinds of selection cuts for Gamma Conversion analysis.
Bool_t MesonIsSelected(AliAODConversionMother *pi0, Bool_t IsSignal=kTRUE, Double_t fRapidityShift=0., Int_t leadingCellID1=0, Int_t leadingCellID2=0)
Int_t GetMultiplicityMethod()
void AddEvent(TObjArray *const eventGammas, AliVEvent *fInputEvent)
void RotateParticle(AliAODConversionPhoton *gamma, Int_t nDegreesPMBackground)
AliESDtrackCuts * fESDTrackCuts
Class handling all kinds of selection cuts for Gamma Conversion analysis.
Double_t GetSPDMult(AliVEvent *inputEvent)
TClonesArray * fPi0Candidates
AliConversionSelection(AliConvEventCuts *evtCut=NULL, AliConversionPhotonCuts *convCut=NULL, AliConversionMesonCuts *mesonCut=NULL)
Int_t GetEventNumber(AliVEvent *inputEvent)
vector< AliAODConversionPhoton * > AliGammaConversionPhotonVector
Bool_t PhotonIsSelected(AliConversionPhotonBase *photon, AliVEvent *event)
AliConversionMesonCuts * fMesonCut