#include "AliAnalysisMuMuEventCutter.h"
#include "TObjString.h"
#include "AliLog.h"
#include "AliMuonEventCuts.h"
#include "AliAnalysisMuonUtility.h"
#include "TList.h"
#include "TTree.h"
#include "Riostream.h"
#include "AliVVertex.h"
#include "AliAODVertex.h"
#include "AliVVZERO.h"
#include "AliInputEventHandler.h"
#include "AliMCEventHandler.h"
#include "AliVEvent.h"
#include "AliMCEvent.h"
#include "TMath.h"
#include "TParameter.h"
#include "AliESDTZERO.h"
#include "AliAODTZERO.h"
#include "AliESDEvent.h"
#include "AliAODEvent.h"
#include "AliAODMCHeader.h"
#include "AliGenEventHeader.h"
#include "AliGenHijingEventHeader.h"
#include "AliGenDPMjetEventHeader.h"
#include "AliGenCocktailEventHeader.h"
ClassImp(AliAnalysisMuMuEventCutter)
AliAnalysisMuMuEventCutter::AliAnalysisMuMuEventCutter(TList* triggerClasses, TList* triggerInputsMap)
: TObject(), fMuonEventCuts(0x0)
{
TString tclasses;
if ( !triggerClasses )
{
tclasses = "ANY";
}
else
{
TObjString* tname;
TIter next(triggerClasses);
while ( ( tname = static_cast<TObjString*>(next()) ) )
{
if (tclasses.Length()>0)
{
tclasses += ",";
}
tclasses += tname->String();
}
}
TString tinputs;
if ( !triggerInputsMap )
{
tinputs = "";
}
else
{
TObjString* tinputsname;
TIter next(triggerInputsMap);
while ( ( tinputsname = static_cast<TObjString*>(next()) ) )
{
if (tinputs.Length()>0)
{
tinputs += ",";
}
tinputs += tinputsname->String();
}
}
MuonEventCuts()->SetTrigClassPatterns(tclasses,tinputs);
}
AliAnalysisMuMuEventCutter::~AliAnalysisMuMuEventCutter()
{
delete fMuonEventCuts;
}
Bool_t AliAnalysisMuMuEventCutter::SelectTriggerClass(const TString& firedTriggerClasses,
TString& acceptedClasses,
UInt_t L0, UInt_t L1, UInt_t L2) const
{
acceptedClasses = "";
TIter next(MuonEventCuts()->GetSelectedTrigClassesInEvent(firedTriggerClasses,L0,L1,L2));
TObjString* str;
while ( ( str = static_cast<TObjString*>(next()) ) )
{
acceptedClasses += str->String();
acceptedClasses += " ";
}
return (acceptedClasses.Length()>0);
}
Bool_t AliAnalysisMuMuEventCutter::IsPhysicsSelected(const AliInputEventHandler& eventHandler) const
{
return const_cast<AliInputEventHandler&>(eventHandler).IsEventSelected() & AliVEvent::kAny;
}
Bool_t AliAnalysisMuMuEventCutter::IsPhysicsSelectedVDM(const AliVEvent& event) const
{
AliVVZERO* vzero = event.GetVZEROData();
if (vzero)
{
Float_t v0a = vzero->GetV0ATime();
Float_t v0c = vzero->GetV0CTime();
Float_t v0diff = v0a-v0c;
Float_t v0sum = v0a+v0c;
if ( ( v0sum > 10.5 && v0sum < 18 ) && ( v0diff > 4 && v0diff < 12 ) )
{
return kTRUE;
}
}
return kFALSE;
}
Bool_t AliAnalysisMuMuEventCutter::IsMCEventNSD(const AliVEvent& event) const
{
if ( static_cast<const AliVEvent*>(&event)->IsA() == AliESDEvent::Class() )
{
AliWarning("Not implemented for ESDs yet");
return kFALSE;
}
const AliAODEvent* eventAOD = static_cast<const AliAODEvent*>(&event);
AliAODMCHeader* mcHeader = static_cast<AliAODMCHeader*>(eventAOD->FindListObject(AliAODMCHeader::StdBranchName()));
if(mcHeader)
{
TList* lheaders = mcHeader->GetCocktailHeaders();
if ( lheaders->GetEntries() > 1 ) AliWarning("There is more than one header: The simulation is a cocktail");
AliGenEventHeader* mcGenH(0x0);
AliGenHijingEventHeader* hHijing(0x0);
AliGenDPMjetEventHeader* hDpmJet(0x0);
TIter next(lheaders);
while ( (mcGenH = static_cast<AliGenEventHeader*>(next())) )
{
if (mcGenH->InheritsFrom(AliGenHijingEventHeader::Class()))
{
hHijing = static_cast<AliGenHijingEventHeader*>(mcGenH);
}
if (mcGenH->InheritsFrom(AliGenDPMjetEventHeader::Class()))
{
hDpmJet = static_cast<AliGenDPMjetEventHeader*>(mcGenH);
}
}
if ( !hDpmJet && !hHijing )
{
AliError("No GenHeader found");
return kFALSE;
}
else if ( hDpmJet )
{
Int_t nsd1,nsd2,ndd;
Int_t npProj = hDpmJet->ProjectileParticipants();
hDpmJet->GetNDiffractive(nsd1,nsd2,ndd);
if (ndd==0 && (npProj==nsd1 || npProj==nsd2))
{
return kFALSE;
}
else return kTRUE;
}
else
{
AliWarning("Implement the Hijing section");
return kFALSE;
}
}
else
{
AliError("No MCheader in MCEvent");
return kFALSE;
}
}
Bool_t AliAnalysisMuMuEventCutter::IsAbsZBelowValue(const AliVEvent& event, const Double_t& z) const
{
const AliVVertex* vertex = event.GetPrimaryVertex();
return (TMath::Abs(vertex->GetZ())<=z);
}
Bool_t AliAnalysisMuMuEventCutter::IsAbsZSPDBelowValue(const AliVEvent& event, const Double_t& z) const
{
Double_t SPDzv(0.);
Bool_t vertexFound(kFALSE);
AliVVertex* SPDVertex = AliAnalysisMuonUtility::GetVertexSPD(static_cast<const AliVEvent*>(&event));
if ( SPDVertex )
{
vertexFound = kTRUE;
SPDzv = SPDVertex->GetZ();
}
if ( !vertexFound )
{
AliError("SPD |z| cut requested and no SPD vertex found in the event");
return kFALSE;
}
else return (TMath::Abs(SPDzv)<z);
}
Bool_t AliAnalysisMuMuEventCutter::IsSPDzVertexInRange(AliVEvent& event, const Double_t& zMin, const Double_t& zMax) const
{
AliVVertex* SPDVertex = AliAnalysisMuonUtility::GetVertexSPD(static_cast<const AliVEvent*>(&event));
if ( !SPDVertex )
{
AliError("Cut on SPD z Vertex requested for an event with no SPD vertex info");
return kFALSE;
}
Double_t zV = SPDVertex->GetZ();
if ( zV >= zMin && zV < zMax ) return kTRUE;
else return kFALSE;
}
Bool_t AliAnalysisMuMuEventCutter::HasSPDVertex(AliVEvent& event) const
{
AliVVertex* SPDVertex = AliAnalysisMuonUtility::GetVertexSPD(static_cast<const AliVEvent*>(&event));
if ( SPDVertex && SPDVertex->GetNContributors() > 0) return kTRUE;
else return kFALSE;
}
Bool_t AliAnalysisMuMuEventCutter::IsSPDzQA(const AliVEvent& event, const Double_t& zResCut, const Double_t& zDifCut) const
{
Double_t zRes,zvertex;
const AliVVertex* vertex = event.GetPrimaryVertex();
if ( vertex )
{
AliVVertex* SPDVertex = AliAnalysisMuonUtility::GetVertexSPD(static_cast<const AliVEvent*>(&event));
if ( SPDVertex )
{
if ( SPDVertex->GetNContributors() > 0 )
{
Double_t cov[6]={0};
SPDVertex->GetCovarianceMatrix(cov);
zRes = TMath::Sqrt(cov[5]);
zvertex = SPDVertex->GetZ();
}
else return kFALSE;
}
else
{
AliError("Cut on SPD z Vertex requested for an event with no SPD vertex info");
return kFALSE;
}
}
else
{
AliError("Cut on SPD z Vertex requested for an event with no vertex info");
return kFALSE;
}
if ( (zRes < zResCut) && TMath::Abs(zvertex - vertex->GetZ()) <= zDifCut )
{
return kTRUE;
}
else return kFALSE;
}
Bool_t AliAnalysisMuMuEventCutter::IsMeandNchdEtaInRange(AliVEvent& event, const Double_t& dNchdEtaMin, const Double_t& dNchdEtaMax) const
{
TList* nchList = static_cast<TList*>(event.FindListObject("NCH"));
if (!nchList || nchList->IsEmpty())
{
AliFatal("No NCH information found in event. Nch analysis MUST be executed to apply a NCH cut");
return kFALSE;
}
Int_t i(0);
Bool_t parFound(kFALSE);
TParameter<Double_t>* eventdNchdEta;
while ( !parFound )
{
while ( nchList->At(i)->IsA() != TParameter<Double_t>::Class() )
{
i++;
}
eventdNchdEta = static_cast<TParameter<Double_t>*>(nchList->At(i));
if ( TString(eventdNchdEta->GetName()).Contains("MeandNchdEta") ) parFound = kTRUE;
}
Double_t meandNchdEta = eventdNchdEta->GetVal();
if ( meandNchdEta >= dNchdEtaMin && meandNchdEta < dNchdEtaMax ) return kTRUE;
else return kFALSE;
}
AliMuonEventCuts*
AliAnalysisMuMuEventCutter::MuonEventCuts() const
{
if (!fMuonEventCuts)
{
fMuonEventCuts = new AliMuonEventCuts("EventCut","");
}
return fMuonEventCuts;
}
void AliAnalysisMuMuEventCutter::NameOfIsSPDzVertexInRange(TString& name, const Double_t& zMin, const Double_t& zMax) const
{
name.Form("SPDZBTW%3.2f_%3.2f",zMin,zMax);
}
void AliAnalysisMuMuEventCutter::NameOfIsAbsZBelowValue(TString& name, const Double_t& z) const
{
name.Form("ABSZLT%3.2f",z);
}
void AliAnalysisMuMuEventCutter::NameOfIsAbsZSPDBelowValue(TString& name, const Double_t& z) const
{
name.Form("SPDABSZLT%3.2f",z);
}
void AliAnalysisMuMuEventCutter::NameOfIsSPDzQA(TString& name, const Double_t& zResCut, const Double_t& zDifCut) const
{
name.Form("SPDZQA_RES%3.2f_ZDIF%3.2f",zResCut,zDifCut);
}
void AliAnalysisMuMuEventCutter::NameOfIsMeandNchdEtaInRange(TString& name, const Double_t& dNchdEtaMin, const Double_t& dNchdEtaMax) const
{
name.Form("MEANDNDETABTW%3.2f_%3.2f",dNchdEtaMin,dNchdEtaMax);
}
Bool_t AliAnalysisMuMuEventCutter::IsTZEROPileUp(const AliVEvent& event) const
{
Bool_t pileupFlag(kFALSE);
if ( event.IsA() == AliESDEvent::Class() )
{
const AliESDTZERO* tzero = static_cast<AliESDEvent&>(const_cast<AliVEvent&>(event)).GetESDTZERO();
if ( tzero )
{
pileupFlag = tzero->GetPileupFlag();
}
}
else if ( event.IsA() == AliAODEvent::Class() )
{
AliAODTZERO* tzero = static_cast<const AliAODEvent&>(event).GetTZEROData();
if ( tzero )
{
pileupFlag = tzero->GetPileupFlag();
}
}
return pileupFlag;
}
AliAnalysisMuMuEventCutter.cxx:1 AliAnalysisMuMuEventCutter.cxx:2 AliAnalysisMuMuEventCutter.cxx:3 AliAnalysisMuMuEventCutter.cxx:4 AliAnalysisMuMuEventCutter.cxx:5 AliAnalysisMuMuEventCutter.cxx:6 AliAnalysisMuMuEventCutter.cxx:7 AliAnalysisMuMuEventCutter.cxx:8 AliAnalysisMuMuEventCutter.cxx:9 AliAnalysisMuMuEventCutter.cxx:10 AliAnalysisMuMuEventCutter.cxx:11 AliAnalysisMuMuEventCutter.cxx:12 AliAnalysisMuMuEventCutter.cxx:13 AliAnalysisMuMuEventCutter.cxx:14 AliAnalysisMuMuEventCutter.cxx:15 AliAnalysisMuMuEventCutter.cxx:16 AliAnalysisMuMuEventCutter.cxx:17 AliAnalysisMuMuEventCutter.cxx:18 AliAnalysisMuMuEventCutter.cxx:19 AliAnalysisMuMuEventCutter.cxx:20 AliAnalysisMuMuEventCutter.cxx:21 AliAnalysisMuMuEventCutter.cxx:22 AliAnalysisMuMuEventCutter.cxx:23 AliAnalysisMuMuEventCutter.cxx:24 AliAnalysisMuMuEventCutter.cxx:25 AliAnalysisMuMuEventCutter.cxx:26 AliAnalysisMuMuEventCutter.cxx:27 AliAnalysisMuMuEventCutter.cxx:28 AliAnalysisMuMuEventCutter.cxx:29 AliAnalysisMuMuEventCutter.cxx:30 AliAnalysisMuMuEventCutter.cxx:31 AliAnalysisMuMuEventCutter.cxx:32 AliAnalysisMuMuEventCutter.cxx:33 AliAnalysisMuMuEventCutter.cxx:34 AliAnalysisMuMuEventCutter.cxx:35 AliAnalysisMuMuEventCutter.cxx:36 AliAnalysisMuMuEventCutter.cxx:37 AliAnalysisMuMuEventCutter.cxx:38 AliAnalysisMuMuEventCutter.cxx:39 AliAnalysisMuMuEventCutter.cxx:40 AliAnalysisMuMuEventCutter.cxx:41 AliAnalysisMuMuEventCutter.cxx:42 AliAnalysisMuMuEventCutter.cxx:43 AliAnalysisMuMuEventCutter.cxx:44 AliAnalysisMuMuEventCutter.cxx:45 AliAnalysisMuMuEventCutter.cxx:46 AliAnalysisMuMuEventCutter.cxx:47 AliAnalysisMuMuEventCutter.cxx:48 AliAnalysisMuMuEventCutter.cxx:49 AliAnalysisMuMuEventCutter.cxx:50 AliAnalysisMuMuEventCutter.cxx:51 AliAnalysisMuMuEventCutter.cxx:52 AliAnalysisMuMuEventCutter.cxx:53 AliAnalysisMuMuEventCutter.cxx:54 AliAnalysisMuMuEventCutter.cxx:55 AliAnalysisMuMuEventCutter.cxx:56 AliAnalysisMuMuEventCutter.cxx:57 AliAnalysisMuMuEventCutter.cxx:58 AliAnalysisMuMuEventCutter.cxx:59 AliAnalysisMuMuEventCutter.cxx:60 AliAnalysisMuMuEventCutter.cxx:61 AliAnalysisMuMuEventCutter.cxx:62 AliAnalysisMuMuEventCutter.cxx:63 AliAnalysisMuMuEventCutter.cxx:64 AliAnalysisMuMuEventCutter.cxx:65 AliAnalysisMuMuEventCutter.cxx:66 AliAnalysisMuMuEventCutter.cxx:67 AliAnalysisMuMuEventCutter.cxx:68 AliAnalysisMuMuEventCutter.cxx:69 AliAnalysisMuMuEventCutter.cxx:70 AliAnalysisMuMuEventCutter.cxx:71 AliAnalysisMuMuEventCutter.cxx:72 AliAnalysisMuMuEventCutter.cxx:73 AliAnalysisMuMuEventCutter.cxx:74 AliAnalysisMuMuEventCutter.cxx:75 AliAnalysisMuMuEventCutter.cxx:76 AliAnalysisMuMuEventCutter.cxx:77 AliAnalysisMuMuEventCutter.cxx:78 AliAnalysisMuMuEventCutter.cxx:79 AliAnalysisMuMuEventCutter.cxx:80 AliAnalysisMuMuEventCutter.cxx:81 AliAnalysisMuMuEventCutter.cxx:82 AliAnalysisMuMuEventCutter.cxx:83 AliAnalysisMuMuEventCutter.cxx:84 AliAnalysisMuMuEventCutter.cxx:85 AliAnalysisMuMuEventCutter.cxx:86 AliAnalysisMuMuEventCutter.cxx:87 AliAnalysisMuMuEventCutter.cxx:88 AliAnalysisMuMuEventCutter.cxx:89 AliAnalysisMuMuEventCutter.cxx:90 AliAnalysisMuMuEventCutter.cxx:91 AliAnalysisMuMuEventCutter.cxx:92 AliAnalysisMuMuEventCutter.cxx:93 AliAnalysisMuMuEventCutter.cxx:94 AliAnalysisMuMuEventCutter.cxx:95 AliAnalysisMuMuEventCutter.cxx:96 AliAnalysisMuMuEventCutter.cxx:97 AliAnalysisMuMuEventCutter.cxx:98 AliAnalysisMuMuEventCutter.cxx:99 AliAnalysisMuMuEventCutter.cxx:100 AliAnalysisMuMuEventCutter.cxx:101 AliAnalysisMuMuEventCutter.cxx:102 AliAnalysisMuMuEventCutter.cxx:103 AliAnalysisMuMuEventCutter.cxx:104 AliAnalysisMuMuEventCutter.cxx:105 AliAnalysisMuMuEventCutter.cxx:106 AliAnalysisMuMuEventCutter.cxx:107 AliAnalysisMuMuEventCutter.cxx:108 AliAnalysisMuMuEventCutter.cxx:109 AliAnalysisMuMuEventCutter.cxx:110 AliAnalysisMuMuEventCutter.cxx:111 AliAnalysisMuMuEventCutter.cxx:112 AliAnalysisMuMuEventCutter.cxx:113 AliAnalysisMuMuEventCutter.cxx:114 AliAnalysisMuMuEventCutter.cxx:115 AliAnalysisMuMuEventCutter.cxx:116 AliAnalysisMuMuEventCutter.cxx:117 AliAnalysisMuMuEventCutter.cxx:118 AliAnalysisMuMuEventCutter.cxx:119 AliAnalysisMuMuEventCutter.cxx:120 AliAnalysisMuMuEventCutter.cxx:121 AliAnalysisMuMuEventCutter.cxx:122 AliAnalysisMuMuEventCutter.cxx:123 AliAnalysisMuMuEventCutter.cxx:124 AliAnalysisMuMuEventCutter.cxx:125 AliAnalysisMuMuEventCutter.cxx:126 AliAnalysisMuMuEventCutter.cxx:127 AliAnalysisMuMuEventCutter.cxx:128 AliAnalysisMuMuEventCutter.cxx:129 AliAnalysisMuMuEventCutter.cxx:130 AliAnalysisMuMuEventCutter.cxx:131 AliAnalysisMuMuEventCutter.cxx:132 AliAnalysisMuMuEventCutter.cxx:133 AliAnalysisMuMuEventCutter.cxx:134 AliAnalysisMuMuEventCutter.cxx:135 AliAnalysisMuMuEventCutter.cxx:136 AliAnalysisMuMuEventCutter.cxx:137 AliAnalysisMuMuEventCutter.cxx:138 AliAnalysisMuMuEventCutter.cxx:139 AliAnalysisMuMuEventCutter.cxx:140 AliAnalysisMuMuEventCutter.cxx:141 AliAnalysisMuMuEventCutter.cxx:142 AliAnalysisMuMuEventCutter.cxx:143 AliAnalysisMuMuEventCutter.cxx:144 AliAnalysisMuMuEventCutter.cxx:145 AliAnalysisMuMuEventCutter.cxx:146 AliAnalysisMuMuEventCutter.cxx:147 AliAnalysisMuMuEventCutter.cxx:148 AliAnalysisMuMuEventCutter.cxx:149 AliAnalysisMuMuEventCutter.cxx:150 AliAnalysisMuMuEventCutter.cxx:151 AliAnalysisMuMuEventCutter.cxx:152 AliAnalysisMuMuEventCutter.cxx:153 AliAnalysisMuMuEventCutter.cxx:154 AliAnalysisMuMuEventCutter.cxx:155 AliAnalysisMuMuEventCutter.cxx:156 AliAnalysisMuMuEventCutter.cxx:157 AliAnalysisMuMuEventCutter.cxx:158 AliAnalysisMuMuEventCutter.cxx:159 AliAnalysisMuMuEventCutter.cxx:160 AliAnalysisMuMuEventCutter.cxx:161 AliAnalysisMuMuEventCutter.cxx:162 AliAnalysisMuMuEventCutter.cxx:163 AliAnalysisMuMuEventCutter.cxx:164 AliAnalysisMuMuEventCutter.cxx:165 AliAnalysisMuMuEventCutter.cxx:166 AliAnalysisMuMuEventCutter.cxx:167 AliAnalysisMuMuEventCutter.cxx:168 AliAnalysisMuMuEventCutter.cxx:169 AliAnalysisMuMuEventCutter.cxx:170 AliAnalysisMuMuEventCutter.cxx:171 AliAnalysisMuMuEventCutter.cxx:172 AliAnalysisMuMuEventCutter.cxx:173 AliAnalysisMuMuEventCutter.cxx:174 AliAnalysisMuMuEventCutter.cxx:175 AliAnalysisMuMuEventCutter.cxx:176 AliAnalysisMuMuEventCutter.cxx:177 AliAnalysisMuMuEventCutter.cxx:178 AliAnalysisMuMuEventCutter.cxx:179 AliAnalysisMuMuEventCutter.cxx:180 AliAnalysisMuMuEventCutter.cxx:181 AliAnalysisMuMuEventCutter.cxx:182 AliAnalysisMuMuEventCutter.cxx:183 AliAnalysisMuMuEventCutter.cxx:184 AliAnalysisMuMuEventCutter.cxx:185 AliAnalysisMuMuEventCutter.cxx:186 AliAnalysisMuMuEventCutter.cxx:187 AliAnalysisMuMuEventCutter.cxx:188 AliAnalysisMuMuEventCutter.cxx:189 AliAnalysisMuMuEventCutter.cxx:190 AliAnalysisMuMuEventCutter.cxx:191 AliAnalysisMuMuEventCutter.cxx:192 AliAnalysisMuMuEventCutter.cxx:193 AliAnalysisMuMuEventCutter.cxx:194 AliAnalysisMuMuEventCutter.cxx:195 AliAnalysisMuMuEventCutter.cxx:196 AliAnalysisMuMuEventCutter.cxx:197 AliAnalysisMuMuEventCutter.cxx:198 AliAnalysisMuMuEventCutter.cxx:199 AliAnalysisMuMuEventCutter.cxx:200 AliAnalysisMuMuEventCutter.cxx:201 AliAnalysisMuMuEventCutter.cxx:202 AliAnalysisMuMuEventCutter.cxx:203 AliAnalysisMuMuEventCutter.cxx:204 AliAnalysisMuMuEventCutter.cxx:205 AliAnalysisMuMuEventCutter.cxx:206 AliAnalysisMuMuEventCutter.cxx:207 AliAnalysisMuMuEventCutter.cxx:208 AliAnalysisMuMuEventCutter.cxx:209 AliAnalysisMuMuEventCutter.cxx:210 AliAnalysisMuMuEventCutter.cxx:211 AliAnalysisMuMuEventCutter.cxx:212 AliAnalysisMuMuEventCutter.cxx:213 AliAnalysisMuMuEventCutter.cxx:214 AliAnalysisMuMuEventCutter.cxx:215 AliAnalysisMuMuEventCutter.cxx:216 AliAnalysisMuMuEventCutter.cxx:217 AliAnalysisMuMuEventCutter.cxx:218 AliAnalysisMuMuEventCutter.cxx:219 AliAnalysisMuMuEventCutter.cxx:220 AliAnalysisMuMuEventCutter.cxx:221 AliAnalysisMuMuEventCutter.cxx:222 AliAnalysisMuMuEventCutter.cxx:223 AliAnalysisMuMuEventCutter.cxx:224 AliAnalysisMuMuEventCutter.cxx:225 AliAnalysisMuMuEventCutter.cxx:226 AliAnalysisMuMuEventCutter.cxx:227 AliAnalysisMuMuEventCutter.cxx:228 AliAnalysisMuMuEventCutter.cxx:229 AliAnalysisMuMuEventCutter.cxx:230 AliAnalysisMuMuEventCutter.cxx:231 AliAnalysisMuMuEventCutter.cxx:232 AliAnalysisMuMuEventCutter.cxx:233 AliAnalysisMuMuEventCutter.cxx:234 AliAnalysisMuMuEventCutter.cxx:235 AliAnalysisMuMuEventCutter.cxx:236 AliAnalysisMuMuEventCutter.cxx:237 AliAnalysisMuMuEventCutter.cxx:238 AliAnalysisMuMuEventCutter.cxx:239 AliAnalysisMuMuEventCutter.cxx:240 AliAnalysisMuMuEventCutter.cxx:241 AliAnalysisMuMuEventCutter.cxx:242 AliAnalysisMuMuEventCutter.cxx:243 AliAnalysisMuMuEventCutter.cxx:244 AliAnalysisMuMuEventCutter.cxx:245 AliAnalysisMuMuEventCutter.cxx:246 AliAnalysisMuMuEventCutter.cxx:247 AliAnalysisMuMuEventCutter.cxx:248 AliAnalysisMuMuEventCutter.cxx:249 AliAnalysisMuMuEventCutter.cxx:250 AliAnalysisMuMuEventCutter.cxx:251 AliAnalysisMuMuEventCutter.cxx:252 AliAnalysisMuMuEventCutter.cxx:253 AliAnalysisMuMuEventCutter.cxx:254 AliAnalysisMuMuEventCutter.cxx:255 AliAnalysisMuMuEventCutter.cxx:256 AliAnalysisMuMuEventCutter.cxx:257 AliAnalysisMuMuEventCutter.cxx:258 AliAnalysisMuMuEventCutter.cxx:259 AliAnalysisMuMuEventCutter.cxx:260 AliAnalysisMuMuEventCutter.cxx:261 AliAnalysisMuMuEventCutter.cxx:262 AliAnalysisMuMuEventCutter.cxx:263 AliAnalysisMuMuEventCutter.cxx:264 AliAnalysisMuMuEventCutter.cxx:265 AliAnalysisMuMuEventCutter.cxx:266 AliAnalysisMuMuEventCutter.cxx:267 AliAnalysisMuMuEventCutter.cxx:268 AliAnalysisMuMuEventCutter.cxx:269 AliAnalysisMuMuEventCutter.cxx:270 AliAnalysisMuMuEventCutter.cxx:271 AliAnalysisMuMuEventCutter.cxx:272 AliAnalysisMuMuEventCutter.cxx:273 AliAnalysisMuMuEventCutter.cxx:274 AliAnalysisMuMuEventCutter.cxx:275 AliAnalysisMuMuEventCutter.cxx:276 AliAnalysisMuMuEventCutter.cxx:277 AliAnalysisMuMuEventCutter.cxx:278 AliAnalysisMuMuEventCutter.cxx:279 AliAnalysisMuMuEventCutter.cxx:280 AliAnalysisMuMuEventCutter.cxx:281 AliAnalysisMuMuEventCutter.cxx:282 AliAnalysisMuMuEventCutter.cxx:283 AliAnalysisMuMuEventCutter.cxx:284 AliAnalysisMuMuEventCutter.cxx:285 AliAnalysisMuMuEventCutter.cxx:286 AliAnalysisMuMuEventCutter.cxx:287 AliAnalysisMuMuEventCutter.cxx:288 AliAnalysisMuMuEventCutter.cxx:289 AliAnalysisMuMuEventCutter.cxx:290 AliAnalysisMuMuEventCutter.cxx:291 AliAnalysisMuMuEventCutter.cxx:292 AliAnalysisMuMuEventCutter.cxx:293 AliAnalysisMuMuEventCutter.cxx:294 AliAnalysisMuMuEventCutter.cxx:295 AliAnalysisMuMuEventCutter.cxx:296 AliAnalysisMuMuEventCutter.cxx:297 AliAnalysisMuMuEventCutter.cxx:298 AliAnalysisMuMuEventCutter.cxx:299 AliAnalysisMuMuEventCutter.cxx:300 AliAnalysisMuMuEventCutter.cxx:301 AliAnalysisMuMuEventCutter.cxx:302 AliAnalysisMuMuEventCutter.cxx:303 AliAnalysisMuMuEventCutter.cxx:304 AliAnalysisMuMuEventCutter.cxx:305 AliAnalysisMuMuEventCutter.cxx:306 AliAnalysisMuMuEventCutter.cxx:307 AliAnalysisMuMuEventCutter.cxx:308 AliAnalysisMuMuEventCutter.cxx:309 AliAnalysisMuMuEventCutter.cxx:310 AliAnalysisMuMuEventCutter.cxx:311 AliAnalysisMuMuEventCutter.cxx:312 AliAnalysisMuMuEventCutter.cxx:313 AliAnalysisMuMuEventCutter.cxx:314 AliAnalysisMuMuEventCutter.cxx:315 AliAnalysisMuMuEventCutter.cxx:316 AliAnalysisMuMuEventCutter.cxx:317 AliAnalysisMuMuEventCutter.cxx:318 AliAnalysisMuMuEventCutter.cxx:319 AliAnalysisMuMuEventCutter.cxx:320 AliAnalysisMuMuEventCutter.cxx:321 AliAnalysisMuMuEventCutter.cxx:322 AliAnalysisMuMuEventCutter.cxx:323 AliAnalysisMuMuEventCutter.cxx:324 AliAnalysisMuMuEventCutter.cxx:325 AliAnalysisMuMuEventCutter.cxx:326 AliAnalysisMuMuEventCutter.cxx:327 AliAnalysisMuMuEventCutter.cxx:328 AliAnalysisMuMuEventCutter.cxx:329 AliAnalysisMuMuEventCutter.cxx:330 AliAnalysisMuMuEventCutter.cxx:331 AliAnalysisMuMuEventCutter.cxx:332 AliAnalysisMuMuEventCutter.cxx:333 AliAnalysisMuMuEventCutter.cxx:334 AliAnalysisMuMuEventCutter.cxx:335 AliAnalysisMuMuEventCutter.cxx:336 AliAnalysisMuMuEventCutter.cxx:337 AliAnalysisMuMuEventCutter.cxx:338 AliAnalysisMuMuEventCutter.cxx:339 AliAnalysisMuMuEventCutter.cxx:340 AliAnalysisMuMuEventCutter.cxx:341 AliAnalysisMuMuEventCutter.cxx:342 AliAnalysisMuMuEventCutter.cxx:343 AliAnalysisMuMuEventCutter.cxx:344 AliAnalysisMuMuEventCutter.cxx:345 AliAnalysisMuMuEventCutter.cxx:346 AliAnalysisMuMuEventCutter.cxx:347 AliAnalysisMuMuEventCutter.cxx:348 AliAnalysisMuMuEventCutter.cxx:349 AliAnalysisMuMuEventCutter.cxx:350 AliAnalysisMuMuEventCutter.cxx:351 AliAnalysisMuMuEventCutter.cxx:352 AliAnalysisMuMuEventCutter.cxx:353 AliAnalysisMuMuEventCutter.cxx:354 AliAnalysisMuMuEventCutter.cxx:355 AliAnalysisMuMuEventCutter.cxx:356 AliAnalysisMuMuEventCutter.cxx:357 AliAnalysisMuMuEventCutter.cxx:358 AliAnalysisMuMuEventCutter.cxx:359 AliAnalysisMuMuEventCutter.cxx:360 AliAnalysisMuMuEventCutter.cxx:361 AliAnalysisMuMuEventCutter.cxx:362 AliAnalysisMuMuEventCutter.cxx:363 AliAnalysisMuMuEventCutter.cxx:364 AliAnalysisMuMuEventCutter.cxx:365 AliAnalysisMuMuEventCutter.cxx:366 AliAnalysisMuMuEventCutter.cxx:367 AliAnalysisMuMuEventCutter.cxx:368 AliAnalysisMuMuEventCutter.cxx:369 AliAnalysisMuMuEventCutter.cxx:370 AliAnalysisMuMuEventCutter.cxx:371 AliAnalysisMuMuEventCutter.cxx:372 AliAnalysisMuMuEventCutter.cxx:373 AliAnalysisMuMuEventCutter.cxx:374 AliAnalysisMuMuEventCutter.cxx:375 AliAnalysisMuMuEventCutter.cxx:376 AliAnalysisMuMuEventCutter.cxx:377 AliAnalysisMuMuEventCutter.cxx:378 AliAnalysisMuMuEventCutter.cxx:379 AliAnalysisMuMuEventCutter.cxx:380 AliAnalysisMuMuEventCutter.cxx:381 AliAnalysisMuMuEventCutter.cxx:382 AliAnalysisMuMuEventCutter.cxx:383 AliAnalysisMuMuEventCutter.cxx:384 AliAnalysisMuMuEventCutter.cxx:385 AliAnalysisMuMuEventCutter.cxx:386 AliAnalysisMuMuEventCutter.cxx:387 AliAnalysisMuMuEventCutter.cxx:388 AliAnalysisMuMuEventCutter.cxx:389 AliAnalysisMuMuEventCutter.cxx:390 AliAnalysisMuMuEventCutter.cxx:391 AliAnalysisMuMuEventCutter.cxx:392 AliAnalysisMuMuEventCutter.cxx:393 AliAnalysisMuMuEventCutter.cxx:394 AliAnalysisMuMuEventCutter.cxx:395 AliAnalysisMuMuEventCutter.cxx:396 AliAnalysisMuMuEventCutter.cxx:397 AliAnalysisMuMuEventCutter.cxx:398 AliAnalysisMuMuEventCutter.cxx:399 AliAnalysisMuMuEventCutter.cxx:400 AliAnalysisMuMuEventCutter.cxx:401 AliAnalysisMuMuEventCutter.cxx:402 AliAnalysisMuMuEventCutter.cxx:403 AliAnalysisMuMuEventCutter.cxx:404 AliAnalysisMuMuEventCutter.cxx:405 AliAnalysisMuMuEventCutter.cxx:406 AliAnalysisMuMuEventCutter.cxx:407 AliAnalysisMuMuEventCutter.cxx:408 AliAnalysisMuMuEventCutter.cxx:409 AliAnalysisMuMuEventCutter.cxx:410 AliAnalysisMuMuEventCutter.cxx:411 AliAnalysisMuMuEventCutter.cxx:412 AliAnalysisMuMuEventCutter.cxx:413 AliAnalysisMuMuEventCutter.cxx:414 AliAnalysisMuMuEventCutter.cxx:415 AliAnalysisMuMuEventCutter.cxx:416 AliAnalysisMuMuEventCutter.cxx:417 AliAnalysisMuMuEventCutter.cxx:418 AliAnalysisMuMuEventCutter.cxx:419 AliAnalysisMuMuEventCutter.cxx:420 AliAnalysisMuMuEventCutter.cxx:421 AliAnalysisMuMuEventCutter.cxx:422 AliAnalysisMuMuEventCutter.cxx:423 AliAnalysisMuMuEventCutter.cxx:424 AliAnalysisMuMuEventCutter.cxx:425 AliAnalysisMuMuEventCutter.cxx:426 AliAnalysisMuMuEventCutter.cxx:427 AliAnalysisMuMuEventCutter.cxx:428 AliAnalysisMuMuEventCutter.cxx:429 AliAnalysisMuMuEventCutter.cxx:430 AliAnalysisMuMuEventCutter.cxx:431 AliAnalysisMuMuEventCutter.cxx:432 AliAnalysisMuMuEventCutter.cxx:433 AliAnalysisMuMuEventCutter.cxx:434 AliAnalysisMuMuEventCutter.cxx:435 AliAnalysisMuMuEventCutter.cxx:436 AliAnalysisMuMuEventCutter.cxx:437 AliAnalysisMuMuEventCutter.cxx:438 AliAnalysisMuMuEventCutter.cxx:439 AliAnalysisMuMuEventCutter.cxx:440 AliAnalysisMuMuEventCutter.cxx:441