fKFReconstructedGammasV0Index(),
fRemovePileUp(kFALSE),
fSelectV0AND(kFALSE),
- fTriggerAnalysis(NULL)
+ fTriggerAnalysis(NULL),
+ fMultiplicity(0),
+ fUseMultiplicity(0),
+ fUseMultiplicityBin(0)
{
// Default constructor
fKFReconstructedGammasV0Index(),
fRemovePileUp(kFALSE),
fSelectV0AND(kFALSE),
- fTriggerAnalysis(NULL)
+ fTriggerAnalysis(NULL),
+ fMultiplicity(0),
+ fUseMultiplicity(0),
+ fUseMultiplicityBin(0)
{
// Common I/O in slot 0
DefineInput (0, TChain::Class());
return;
}
-
Bool_t v0A = fTriggerAnalysis->IsOfflineTriggerFired(fV0Reader->GetESDEvent(), AliTriggerAnalysis::kV0A);
Bool_t v0C = fTriggerAnalysis->IsOfflineTriggerFired(fV0Reader->GetESDEvent(), AliTriggerAnalysis::kV0C);
Bool_t v0AND = v0A && v0C;
fHistograms->FillHistogram("ESD_EventQuality",eventQuality);
return;
}
+ fMultiplicity = fEsdTrackCuts->CountAcceptedTracks(fV0Reader->GetESDEvent());
+
+ if( CalculateMultiplicityBin() != fUseMultiplicityBin){
+ eventQuality=6;
+ fHistograms->FillHistogram("ESD_EventQuality",eventQuality);
+ return;
+ }
eventQuality=3;
fHistograms->FillHistogram("ESD_EventQuality",eventQuality);
+
+
+ fHistograms->FillHistogram("ESD_NumberOfGoodESDTracks",fMultiplicity);
+ if (fV0Reader->GetNumberOfContributorsVtx()>=1){
+ fHistograms->FillHistogram("ESD_NumberOfGoodESDTracksVtx",fMultiplicity);
+ }
+
+
+
// Process the MC information
if(fDoMCTruth){
ProcessMCData();
numberOfESDTracks++;
}
}
- fHistograms->FillHistogram("ESD_NumberOfGoodESDTracks",numberOfESDTracks);
-
- if (fV0Reader->GetNumberOfContributorsVtx()>=1){
- fHistograms->FillHistogram("ESD_NumberOfGoodESDTracksVtx",numberOfESDTracks);
- }
+// Moved to UserExec using CountAcceptedTracks function. runjet is not needed by default
+// fHistograms->FillHistogram("ESD_NumberOfGoodESDTracks",numberOfESDTracks);
+// cout<<"esdtracks::"<< numberOfESDTracks<<endl;
+// if (fV0Reader->GetNumberOfContributorsVtx()>=1){
+// fHistograms->FillHistogram("ESD_NumberOfGoodESDTracksVtx",numberOfESDTracks);
+// }
}
void AliAnalysisTaskGammaConversion::RecalculateV0ForGamma(){
//recalculates v0 for gamma
// return tlVtrack;
}
-
Int_t AliAnalysisTaskGammaConversion::GetProcessType(const AliMCEvent * mcEvt) {
// Determine if the event was generated with pythia or phojet and return the process type
AliError(Form("Unknown header: %s", htmp->IsA()->GetName()));
return kProcUnknown;
}
+
+
+Int_t AliAnalysisTaskGammaConversion::CalculateMultiplicityBin(){
+ // Get Centrality bin
+
+ Int_t multiplicity = 0;
+
+ if ( fUseMultiplicity == 1 ) {
+
+ if (fMultiplicity>= 0 && fMultiplicity<= 5) multiplicity=1;
+ if (fMultiplicity>= 6 && fMultiplicity<= 9) multiplicity=2;
+ if (fMultiplicity>=10 && fMultiplicity<=14) multiplicity=3;
+ if (fMultiplicity>=15 && fMultiplicity<=22) multiplicity=4;
+ if (fMultiplicity>=23 ) multiplicity=5;
+
+ }
+ return multiplicity;
+}
void SetRemovePileUp(Bool_t removePileUp) { fRemovePileUp = removePileUp; }
void SetSelectV0AND(Bool_t selectV0AND) { fSelectV0AND = selectV0AND; }
-
+ void SetUseMultiplicity(Int_t useMultiplicity) {fUseMultiplicity=useMultiplicity;}
+ void SetUseMultiplicityBin(Int_t useMultiplicityBin) {fUseMultiplicityBin=useMultiplicityBin;}
+ Int_t CalculateMultiplicityBin();
private:
AliAnalysisTaskGammaConversion(const AliAnalysisTaskGammaConversion&); // Not implemented
AliAnalysisTaskGammaConversion& operator=(const AliAnalysisTaskGammaConversion&); // Not implemented
Bool_t fRemovePileUp; // Remove Pile Up
Bool_t fSelectV0AND; // Select V0AND
AliTriggerAnalysis *fTriggerAnalysis; //! Trigger Analysis for Normalisation
- ClassDef(AliAnalysisTaskGammaConversion, 14); // Analysis task for gamma conversions
+ Int_t fMultiplicity;
+ Int_t fUseMultiplicity;
+ Int_t fUseMultiplicityBin;
+ ClassDef(AliAnalysisTaskGammaConversion, 15); // Analysis task for gamma conversions
};
#endif //ALIANALYSISTASKGAMMA_H
* about the suitability of this software for any purpose. It is *
* provided "as is" without express or implied warranty. *
**************************************************************************/
-const int c_array_size = 22;
+const int c_array_size = 23;
class AliAnalysisDataContainer;
class AliGammaConversionHistograms;
//Svein
Bool_t kGCRunGammaJetTask = kFALSE;
/** ---------------------------------- define cuts here ------------------------------------*/
-TString kGCAnalysisCutSelectionId="9003562040100332102200"; // do not change here, use -set-cut-selection in argument instead
+TString kGCAnalysisCutSelectionId="90035620401003321022000"; // do not change here, use -set-cut-selection in argument instead
Int_t kGCNEventsForBGCalculation=20;
Bool_t kGCRemovePileUp = kFALSE;
Bool_t kGCSelectV0AND = kFALSE;
+Bool_t kGCUseMultiplicity = kFALSE;
+Int_t kGCUseMultiplicityBin=0;
+
/** ---------------------------------- define pi0 dalitz cuts here ------------------------------------*/
Bool_t kGCRunStandalone = kTRUE;
//EventQuality-plot
-Int_t kGCnXBinsEvtQ= 7;
+Int_t kGCnXBinsEvtQ= 8;
Double_t kGCfirstXBinEvtQ=-1.5;
-Double_t kGClastXBinEvtQ=5.5;
+Double_t kGClastXBinEvtQ=6.5;
//R-plots
Int_t kGCnXBinsR = 400;
gammaconversion->SetRemovePileUp(kGCRemovePileUp);
gammaconversion->SetSelectV0AND(kGCSelectV0AND);
+ gammaconversion->SetUseMultiplicity(kGCUseMultiplicity);
+ gammaconversion->SetUseMultiplicityBin(kGCUseMultiplicityBin);
// for CF
gammaconversion->SetCFManager(man);
Int_t NumberOfRotations=array[19];
Int_t removePileUp=array[20];
Int_t selectV0AND=array[21];
+ Int_t multiplicityBin=array[22];
- cout<<"Select V0AND"<< selectV0AND<<endl;
- cout<<"Remove PileUp"<< removePileUp<<endl;
+ cout<<"Multiplicity Bin::"<< multiplicityBin<<endl;
+ cout<<"Select V0AND::"<< selectV0AND<<endl;
+ cout<<"Remove PileUp::"<< removePileUp<<endl;
cout<<"NumberOfRotations::"<<NumberOfRotations<<endl;
cout<<"DegreesForRotationMethod::"<<DegreesForRotationMethod<<endl;
cout<<"BackgroundScheme::"<<BackgroundScheme<<endl;
return iResult;
}
+ switch(multiplicityBin){
+ case 0:
+ kGCUseMultiplicity=kFALSE;
+ kGCUseMultiplicityBin=0;
+ break;
+ case 1:
+ kGCUseMultiplicity=kTRUE;
+ kGCUseMultiplicityBin=1;
+ break;
+ case 2:
+ kGCUseMultiplicity=kTRUE;
+ kGCUseMultiplicityBin=2;
+ break;
+ case 3:
+ kGCUseMultiplicity=kTRUE;
+ kGCUseMultiplicityBin=3;
+ break;
+ case 4:
+ kGCUseMultiplicity=kTRUE;
+ kGCUseMultiplicityBin=4;
+ break;
+ case 5:
+ kGCUseMultiplicity=kTRUE;
+ kGCUseMultiplicityBin=5;
+ break;
+ default:
+ return iResult;
+ }
iResult=1;
return iResult;
ASSIGNARRAY(19);
ASSIGNARRAY(20);
ASSIGNARRAY(21);
+ ASSIGNARRAY(22);
}
}