// 2: passes vertex cut
// 3: passes track number cut, tracks for eta < 0.8
// 4: 3 && 2
-// 5: pass VAND
+// 5: pass V0AND
// 6: 5 && 2
// 7: 5 && 3
// 8: 5 && 3 && 2
#include <TClonesArray.h>
#include <TGeoGlobalMagField.h>
#include "AliAODHeader.h"
-#include "AliTriggerAnalysis.h"
+//#include "AliTriggerAnalysis.h"
#include "AliESDEvent.h"
#include "AliAODEvent.h"
#include "AliESDtrackCuts.h"
fAvgTrials(-1),
fOutputContainer(0x0),
fESDtrackCuts(AliESDtrackCuts::GetStandardITSTPCTrackCuts2010()),
- fTriggerAnalysis (new AliTriggerAnalysis),
+ //fTriggerAnalysis (new AliTriggerAnalysis),
fCurrFileName(0), fCheckMCCrossSection(kFALSE),
fhNEvents(0),
fhXVertex(0), fhYVertex(0), fhZVertex(0),
fAvgTrials(-1),
fOutputContainer(0x0),
fESDtrackCuts(AliESDtrackCuts::GetStandardITSTPCTrackCuts2010()),
- fTriggerAnalysis (new AliTriggerAnalysis),
+ //fTriggerAnalysis (new AliTriggerAnalysis),
fCurrFileName(0), fCheckMCCrossSection(kFALSE),
fhNEvents(0),
fhXVertex(0), fhYVertex(0), fhZVertex(0),
}
if(fESDtrackCuts) delete fESDtrackCuts;
- if(fTriggerAnalysis) delete fTriggerAnalysis;
+ //if(fTriggerAnalysis) delete fTriggerAnalysis;
}
fOutputContainer = new TList();
- fh1Xsec = new TH1F("hXsec","xsec from pyxsec.root",1,0,1);
- fh1Xsec->GetXaxis()->SetBinLabel(1,"<#sigma>");
- fOutputContainer->Add(fh1Xsec);
+ if(fCheckMCCrossSection)
+ {
+ fh1Xsec = new TH1F("hXsec","xsec from pyxsec.root",1,0,1);
+ fh1Xsec->GetXaxis()->SetBinLabel(1,"<#sigma>");
+ fOutputContainer->Add(fh1Xsec);
+
+ fh1Trials = new TH1F("hTrials","trials root file",1,0,1);
+ fh1Trials->GetXaxis()->SetBinLabel(1,"#sum{ntrials}");
+ fOutputContainer->Add(fh1Trials);
+ }
- fh1Trials = new TH1F("hTrials","trials root file",1,0,1);
- fh1Trials->GetXaxis()->SetBinLabel(1,"#sum{ntrials}");
- fOutputContainer->Add(fh1Trials);
-
fhZVertex = new TH1F("hZVertex", " Z vertex distribution" , 200 , -50 , 50 ) ;
fhZVertex->SetXTitle("v_{z} (cm)");
fOutputContainer->Add(fhZVertex);
fOutputContainer->Add(fhEventPlaneAngle) ;
fhNEvents = new TH1I("hNEvents", "Number of analyzed events", 21, 0, 21) ;
- fhNEvents->SetXTitle("Selection");
+ //fhNEvents->SetXTitle("Selection");
fhNEvents->SetYTitle("# events");
fhNEvents->GetXaxis()->SetBinLabel(1 ,"1 = PS");
fhNEvents->GetXaxis()->SetBinLabel(2 ,"2 = 1 & ESD");
fhNEvents->GetXaxis()->SetBinLabel(18,"18 = Reject EMCAL 1");
fhNEvents->GetXaxis()->SetBinLabel(19,"19 = 18 & 2");
fhNEvents->GetXaxis()->SetBinLabel(20,"20 = Reject EMCAL 2");
- fhNEvents->GetXaxis()->SetBinLabel(21,"20 = 20 & 2");
+ fhNEvents->GetXaxis()->SetBinLabel(21,"21 = 20 & 2");
fOutputContainer->Add(fhNEvents);
// V0AND
//---------------------------------
- if(esdevent) bV0AND = fTriggerAnalysis->IsOfflineTriggerFired(esdevent, AliTriggerAnalysis::kV0AND);
+ //if(esdevent) bV0AND = fTriggerAnalysis->IsOfflineTriggerFired(esdevent, AliTriggerAnalysis::kV0AND);
+ AliVVZERO* v0 = fInputEvent->GetVZEROData();
+ bV0AND = ((v0->GetV0ADecision()==1) && (v0->GetV0CDecision()==1));
if(bV0AND)
{
//____________________________________________________
Bool_t AliAnalysisTaskCounter::CheckForPrimaryVertex()
{
- //Check if the vertex was well reconstructed, copy from V0Reader of conversion group
- //It only works for ESDs
+ //Check if the vertex was well reconstructed, copy of conversion group
- AliESDEvent * event = dynamic_cast<AliESDEvent*> (InputEvent());
- if(!event) return 1;
+ AliESDEvent * esdevent = dynamic_cast<AliESDEvent*> (InputEvent());
+ AliAODEvent * aodevent = dynamic_cast<AliAODEvent*> (InputEvent());
- if(event->GetPrimaryVertexTracks()->GetNContributors() > 0)
+ if(esdevent)
{
- return 1;
+ if(esdevent->GetPrimaryVertex()->GetNContributors() > 0)
+ {
+ return kTRUE;
+ }
+
+ if(esdevent->GetPrimaryVertex()->GetNContributors() < 1)
+ {
+ // SPD vertex
+ if(esdevent->GetPrimaryVertexSPD()->GetNContributors() > 0)
+ {
+ return kTRUE;
+
+ }
+ if(esdevent->GetPrimaryVertexSPD()->GetNContributors() < 1)
+ {
+ return kFALSE;
+ }
+ }
}
-
- if(event->GetPrimaryVertexTracks()->GetNContributors() < 1)
- {
- // SPD vertex
- if(event->GetPrimaryVertexSPD()->GetNContributors() > 0)
+ else if(aodevent)
+ {
+ if (aodevent->GetPrimaryVertex() != NULL)
{
- //cout<<"spd vertex type::"<< fESDEvent->GetPrimaryVertex()->GetName() << endl;
- return 1;
-
+ if(aodevent->GetPrimaryVertex()->GetNContributors() > 0)
+ {
+ return kTRUE;
+ }
}
- if(event->GetPrimaryVertexSPD()->GetNContributors() < 1)
+
+ if(aodevent->GetPrimaryVertexSPD() != NULL)
{
- // cout<<"bad vertex type::"<< fESDEvent->GetPrimaryVertex()->GetName() << endl;
- return 0;
+ if(aodevent->GetPrimaryVertexSPD()->GetNContributors() > 0)
+ {
+ return kTRUE;
+ }
+ else
+ {
+ AliWarning(Form("Number of contributors from bad vertex type:: %s",aodevent->GetPrimaryVertex()->GetName()));
+ return kFALSE;
+ }
}
}
+ else return kTRUE;
- return 0;
- //return fInputEvent->GetPrimaryVertex()->GetNContributors()>0;
+ return kFALSE;
+
}