fValues("AliRsnMiniValue", 0),
fHEventStat(0x0),
fHAEventsVsMulti(0x0),
+ fHAEventsVsTracklets(0x0),
fHAEventVz(0x0),
fHAEventMultiCent(0x0),
fHAEventPlane(0x0),
fValues("AliRsnMiniValue", 0),
fHEventStat(0x0),
fHAEventsVsMulti(0x0),
+ fHAEventsVsTracklets(0x0),
fHAEventVz(0x0),
fHAEventMultiCent(0x0),
fHAEventPlane(0x0),
fValues(copy.fValues),
fHEventStat(0x0),
fHAEventsVsMulti(0x0),
+ fHAEventsVsTracklets(0x0),
fHAEventVz(0x0),
fHAEventMultiCent(0x0),
fHAEventPlane(0x0),
fValues = copy.fValues;
fHEventStat = copy.fHEventStat;
fHAEventsVsMulti = copy.fHAEventsVsMulti;
+ fHAEventsVsTracklets = copy.fHAEventsVsTracklets;
fHAEventVz = copy.fHAEventVz;
fHAEventMultiCent = copy.fHAEventMultiCent;
fHAEventPlane = copy.fHAEventPlane;
fOutput->SetOwner();
// initialize event statistics counter
- fHEventStat = new TH1F("hEventStat", "Event statistics", 4, 0.0, 4.0);
+ fHEventStat = new TH1F("hEventStat", "Event statistics", 8, 0.0, 8.0);
fHEventStat->GetXaxis()->SetBinLabel(1, "CINT1B");
fHEventStat->GetXaxis()->SetBinLabel(2, "V0AND");
fHEventStat->GetXaxis()->SetBinLabel(3, "Candle");
fHEventStat->GetXaxis()->SetBinLabel(4, "Accepted");
+ fHEventStat->GetXaxis()->SetBinLabel(5, "Not Accepted - Total");
+ fHEventStat->GetXaxis()->SetBinLabel(6, "Not Accepted - No Track Vertex");
+ fHEventStat->GetXaxis()->SetBinLabel(7, "Not Accepted - Not Enough Contributors");
+ fHEventStat->GetXaxis()->SetBinLabel(8, "Not Accepted - No Vertex inside |z| < 10 cm");
+
fOutput->Add(fHEventStat);
if (fUseCentrality)
else
fHAEventsVsMulti = new TH1F("hAEventsVsMulti", "Accepted events vs Multiplicity",1000, 0, 1000.0);
fOutput->Add(fHAEventsVsMulti);
+
+ fHAEventsVsTracklets = new TH1F("hAEventsVsTracklets", "Accepted events vs Tracklet Number",1000, 0, 1000.0);
+ fOutput->Add(fHAEventsVsTracklets);
if(fHAEventVz) fOutput->Add(fHAEventVz);
if(fHAEventMultiCent) fOutput->Add(fHAEventMultiCent);
if (isSelected) {
fHEventStat->Fill(3.1);
Double_t multi = ComputeCentrality((output == 'E'));
+ Double_t tracklets = ComputeTracklets();
fHAEventsVsMulti->Fill(multi);
+ fHAEventsVsTracklets->Fill(tracklets);
if(fHAEventVz) fHAEventVz->Fill(multi,fInputEvent->GetPrimaryVertex()->GetZ());
if(fHAEventMultiCent) fHAEventMultiCent->Fill(multi,ComputeMultiplicity(output == 'E',fHAEventMultiCent->GetYaxis()->GetTitle()));
if(fHAEventPlane) fHAEventPlane->Fill(multi,ComputeAngle());
return output;
} else {
+ fHEventStat->Fill(4.1);
+ const AliVVertex *vertex = fInputEvent->GetPrimaryVertex();
+ if(!vertex) fHEventStat->Fill(5.1);
+ else{
+ TString title=vertex->GetTitle();
+ if( (title.Contains("Z")) || (title.Contains("3D")) ) fHEventStat->Fill(5.1);
+ if(vertex->GetNContributors()<1.) fHEventStat->Fill(6.1);
+ if(TMath::Abs(vertex->GetZ())>10.) fHEventStat->Fill(7.1);
+ }
return 0;
}
}
fMiniEvent->Vz() = fInputEvent->GetPrimaryVertex()->GetZ();
fMiniEvent->Angle() = ComputeAngle();
fMiniEvent->Mult() = ComputeCentrality((evType == 'E'));
+ fMiniEvent->Tracklets() = ComputeTracklets();
AliDebugClass(2, Form("Event %d: type = %c -- vz = %f -- mult = %f -- angle = %f", fEvNum, evType, fMiniEvent->Vz(), fMiniEvent->Mult(), fMiniEvent->Angle()));
// loop on daughters and assign track-related values
AliError(Form("String '%s' does not define a possible multiplicity/centrality computation", type.Data()));
return -1.0;
}
+}
+
+//__________________________________________________________________________________________________
+Double_t AliRsnMiniAnalysisTask::ComputeTracklets()
+{
+//
+// Get number of tracklets
+//
+
+ Double_t count = 100;
- return 1E20;
+ if (fInputEvent->InheritsFrom(AliESDEvent::Class())){
+ AliESDEvent *esdEvent = (AliESDEvent *)fInputEvent;
+ const AliMultiplicity *spdmult = esdEvent->GetMultiplicity();
+ count = 1.0*spdmult->GetNumberOfTracklets();
+ }
+ else if (fInputEvent->InheritsFrom(AliAODEvent::Class())) {
+ AliAODEvent *aodEvent = (AliAODEvent *)fInputEvent;
+ AliAODTracklets *spdmult = aodEvent->GetTracklets();
+ count = 1.0*spdmult->GetNumberOfTracklets();
+ }
+
+ return count;
}
//__________________________________________________________________________________________________
return -999.0;
}
-
Double_t cent = (Float_t)(centrality->GetCentralityPercentile("V0M"));
- Double_t rnd_hc, testf, ff, N1, N2;
+ Double_t rnd_hc = -1., testf = 0.0, ff = 0, N1 = -1., N2 = -1.;
if(fUseCentralityPatchPbPb2011==510){
N1 = 1.9404e+06;
N2 = 1.56435e+06; //N2 is the reference
ff = 5.04167e+06 - 1.49885e+06*cent + 2.35998e+05*cent*cent -1.22873e+04*cent*cent*cent;
+ } else {
+ if(fUseCentralityPatchPbPb2011==1020){
+ N2 = 2.0e+05; //N2 is the reference
+ N1 = 3.7e+05;
+ ff = -1.73979e+06 - 3.05316e+06*cent + 1.05517e+06*cent*cent - 133205*cent*cent*cent + 8187.45*cent*cent*cent*cent - 247.875*cent*cent*cent*cent*cent + 2.9676*cent*cent*cent*cent*cent*cent;
+ } else {
+ AliError(Form("Patch for the requested centrality (%i) is not available", fUseCentralityPatchPbPb2011));
+ return -999.0;
+ }
}
-
- if(fUseCentralityPatchPbPb2011==1020){
- N2 = 2.0e+05; //N2 is the reference
- N1 = 3.7e+05;
-
- ff = -1.73979e+06 - 3.05316e+06*cent + 1.05517e+06*cent*cent - 133205*cent*cent*cent + 8187.45*cent*cent*cent*cent - 247.875*cent*cent*cent*cent*cent + 2.9676*cent*cent*cent*cent*cent*cent;
- }
-
testf = ( N2 + (N1-ff) ) / N1;
rnd_hc = gRandom->Rndm();