ClassImp(AliEventTag)
//______________________________________________________________________________
-AliEventTag::AliEventTag()
+ AliEventTag::AliEventTag() :
+ TObject(),
+ fAliceEventId(0),
+ fGUID(0),
+ fNumberOfParticipants(-10),
+ fImpactParameter(-10.0),
+ fPrimaryVertexFlag(-1),
+ fPrimaryVertexX(-100.0),
+ fPrimaryVertexY(-100.0),
+ fPrimaryVertexZ(-100.0),
+ fPrimaryVertexZError(-100.0),
+ fTriggerInfo(-10),
+ fZDCNeutronEnergy(-10.0),
+ fZDCProtonEnergy(-10.0),
+ fZDCEMEnergy(-10.0),
+ fT0VertexZ(-10.0),
+ fNumberOfTracks(-10),
+ fNumberOfPositiveTracks(-10),
+ fNumberOfNegativeTracks(-10),
+ fNumberOfNeutralTracks(-10),
+ fNumberOfV0s(-10),
+ fNumberOfCascades(-10),
+ fNumberOfKinks(-10),
+ fNumberOfPMDTracks(-10),
+ fNumberOfPHOSTracks(-10),
+ fNumberOfEMCALTracks(-10),
+ fNumberOfFMDTracks(-10),
+ fNumberOfJetCandidates(-10),
+ fMaxJetEnergy(-100.0),
+ fNumberOfHardPhotonsCandidates(-10),
+ fMaxNeutralEnergy(-100.0),
+ fNumberOfChargedAbove1GeV(-10),
+ fNumberOfChargedAbove3GeV(-10),
+ fNumberOfChargedAbove10GeV(-10),
+ fNumberOfMuonsAbove1GeV(-10),
+ fNumberOfMuonsAbove3GeV(-10),
+ fNumberOfMuonsAbove10GeV(-10),
+ fNumberOfElectronsAbove1GeV(-10),
+ fNumberOfElectronsAbove3GeV(-10),
+ fNumberOfElectronsAbove10GeV(-10),
+ fNumberOfElectrons(-10),
+ fNumberOfMuons(-10),
+ fNumberOfPions(-10),
+ fNumberOfKaons(-10),
+ fNumberOfProtons(-10),
+ fNumberOfLambdas(-10),
+ fNumberOfPhotons(-10),
+ fNumberOfPi0s(-10),
+ fNumberOfNeutrons(-10),
+ fNumberOfKaon0s(-10),
+ fTotalP(-10.0),
+ fMeanPt(-10.0),
+ fMaxPt(-10.0),
+ fTotalNeutralP(-10.0),
+ fMeanNeutralPt(-10.0),
+ fMaxNeutralPt(-10.0),
+ fEventPlaneAngle(-10.0),
+ fHBTRadii(-10.0)
{
- fAliceEventId = 0;
- fGUID = 0;
-
- fNumberOfParticipants = -10;
- fImpactParameter = -10.0;
-
- fPrimaryVertexX = -100.0;
- fPrimaryVertexY = -100.0;
- fPrimaryVertexZ = -100.0;
-
- fPrimaryVertexFlag = -1;
- fPrimaryVertexZError = -100.0;
-
- fTriggerInfo = -10;
-
- fZDCNeutronEnergy = -10.0;
- fZDCProtonEnergy = -10.0;
- fZDCEMEnergy = -10.0;
-
- fT0VertexZ = -10.0;
-
- fNumberOfTracks = -10;
- fNumberOfPositiveTracks = -10;
- fNumberOfNegativeTracks = -10;
- fNumberOfNeutralTracks = -10;
-
- fNumberOfV0s = -10;
- fNumberOfCascades = -10;
- fNumberOfKinks = -10;
-
- fNumberOfPMDTracks = -10;
- fNumberOfPHOSTracks = -10;
- fNumberOfEMCALTracks = -10;
- fNumberOfFMDTracks = -10;
-
- fNumberOfJetCandidates = -10;
- fNumberOfHardPhotonsCandidates = -10;
-
- fMaxJetEnergy = -100.0;
- fMaxNeutralEnergy = -100.0;
-
- fNumberOfChargedAbove1GeV = -10;
- fNumberOfChargedAbove3GeV = -10;
- fNumberOfChargedAbove10GeV = -10;
- fNumberOfMuonsAbove1GeV = -10;
- fNumberOfMuonsAbove3GeV = -10;
- fNumberOfMuonsAbove10GeV = -10;
- fNumberOfElectronsAbove1GeV = -10;
- fNumberOfElectronsAbove3GeV = -10;
- fNumberOfElectronsAbove10GeV = -10;
-
-
- fNumberOfElectrons = -10;
- fNumberOfMuons = -10;
- fNumberOfPions = -10;
- fNumberOfKaons = -10;
- fNumberOfProtons = -10;
- fNumberOfLambdas = -10;
-
- fNumberOfPhotons = -10;
- fNumberOfPi0s = -10;
- fNumberOfNeutrons = -10;
- fNumberOfKaon0s = -10;
-
-
- fTotalP = -10.0;
- fMeanPt = -10.0;
- fMaxPt = -10.0;
-
- fTotalNeutralP = -10.0;
- fMeanNeutralPt = -10.0;
- fMaxNeutralPt = -10.0;
-
- fEventPlaneAngle = -10.0;
- fHBTRadii = -10.0;
-
+ // AliEventTag default constructor
}
//______________________________________________________________________________
-AliEventTag::AliEventTag(AliEventTag *EvTag)
+AliEventTag::AliEventTag(const AliEventTag & EvTag) : TObject(EvTag)
{
// EventTag copy constructor
- SetEventId(EvTag->GetEventId());
- SetGUID(EvTag->GetGUID());
+ SetEventId(EvTag.GetEventId());
+ SetGUID(EvTag.GetGUID());
- SetNumOfParticipants(EvTag->GetNumOfParticipants());
- SetImpactParameter(EvTag->GetImpactParameter());
+ SetNumOfParticipants(EvTag.GetNumOfParticipants());
+ SetImpactParameter(EvTag.GetImpactParameter());
- SetVertexX(EvTag->GetVertexX());
- SetVertexY(EvTag->GetVertexY());
- SetVertexZ(EvTag->GetVertexZ());
+ SetVertexX(EvTag.GetVertexX());
+ SetVertexY(EvTag.GetVertexY());
+ SetVertexZ(EvTag.GetVertexZ());
- SetVertexFlag(EvTag->GetVertexFlag());
- SetVertexZError(EvTag->GetVertexZError());
+ SetVertexFlag(EvTag.GetVertexFlag());
+ SetVertexZError(EvTag.GetVertexZError());
- SetTrigger(EvTag->GetTrigger());
+ SetTrigger(EvTag.GetTrigger());
- SetZDCNeutronEnergy(EvTag->GetZDCNeutronEnergy());
- SetZDCProtonEnergy(EvTag->GetZDCProtonEnergy());
- SetZDCEMEnergy(EvTag->GetZDCEMEnergy());
+ SetZDCNeutronEnergy(EvTag.GetZDCNeutronEnergy());
+ SetZDCProtonEnergy(EvTag.GetZDCProtonEnergy());
+ SetZDCEMEnergy(EvTag.GetZDCEMEnergy());
- SetT0VertexZ(EvTag->GetT0VertexZ());
+ SetT0VertexZ(EvTag.GetT0VertexZ());
- SetNumOfTracks(EvTag->GetNumOfTracks());
- SetNumOfPosTracks(EvTag->GetNumOfPosTracks());
- SetNumOfNegTracks(EvTag->GetNumOfNegTracks());
- SetNumOfNeutrTracks(EvTag->GetNumOfNeutrTracks());
+ SetNumOfTracks(EvTag.GetNumOfTracks());
+ SetNumOfPosTracks(EvTag.GetNumOfPosTracks());
+ SetNumOfNegTracks(EvTag.GetNumOfNegTracks());
+ SetNumOfNeutrTracks(EvTag.GetNumOfNeutrTracks());
- SetNumOfV0s(EvTag->GetNumOfV0s());
- SetNumOfCascades(EvTag->GetNumOfCascades());
- SetNumOfKinks(EvTag->GetNumOfKinks());
+ SetNumOfV0s(EvTag.GetNumOfV0s());
+ SetNumOfCascades(EvTag.GetNumOfCascades());
+ SetNumOfKinks(EvTag.GetNumOfKinks());
- SetNumOfPMDTracks(EvTag->GetNumOfPMDTracks());
- SetNumOfPHOSTracks(EvTag->GetNumOfPHOSTracks());
- SetNumOfEMCALTracks(EvTag->GetNumOfEMCALTracks());
- SetNumOfFMDTracks(EvTag->GetNumOfFMDTracks());
+ SetNumOfPMDTracks(EvTag.GetNumOfPMDTracks());
+ SetNumOfPHOSTracks(EvTag.GetNumOfPHOSTracks());
+ SetNumOfEMCALTracks(EvTag.GetNumOfEMCALTracks());
+ SetNumOfFMDTracks(EvTag.GetNumOfFMDTracks());
- SetNumOfJetCandidates(EvTag->GetNumOfJetCandidates());
- SetNumOfHardPhotonsCandidates(EvTag->GetNumOfHardPhotonsCandidates());
+ SetNumOfJetCandidates(EvTag.GetNumOfJetCandidates());
+ SetNumOfHardPhotonsCandidates(EvTag.GetNumOfHardPhotonsCandidates());
- SetMaxJetEnergy(EvTag->GetMaxJetEnergy());
- SetMaxNeutralEnergy(EvTag->GetMaxNeutralEnergy());
+ SetMaxJetEnergy(EvTag.GetMaxJetEnergy());
+ SetMaxNeutralEnergy(EvTag.GetMaxNeutralEnergy());
- SetNumOfChargedAbove1GeV(EvTag->GetNumOfChargedAbove1GeV());
- SetNumOfChargedAbove3GeV(EvTag->GetNumOfChargedAbove3GeV());
- SetNumOfChargedAbove10GeV(EvTag->GetNumOfChargedAbove10GeV());
- SetNumOfMuonsAbove1GeV(EvTag->GetNumOfMuonsAbove1GeV());
- SetNumOfMuonsAbove3GeV(EvTag->GetNumOfMuonsAbove3GeV());
- SetNumOfMuonsAbove10GeV(EvTag->GetNumOfMuonsAbove10GeV());
- SetNumOfElectronsAbove1GeV(EvTag->GetNumOfElectronsAbove1GeV());
- SetNumOfElectronsAbove3GeV(EvTag->GetNumOfElectronsAbove3GeV());
- SetNumOfElectronsAbove10GeV(EvTag->GetNumOfElectronsAbove10GeV());
-
- SetNumOfElectrons(EvTag->GetNumOfElectrons());
- SetNumOfMuons(EvTag->GetNumOfMuons());
- SetNumOfPions(EvTag->GetNumOfPions());
- SetNumOfKaons(EvTag->GetNumOfKaons());
- SetNumOfProtons(EvTag->GetNumOfProtons());
- SetNumOfLambdas(EvTag->GetNumOfLambdas());
+ SetNumOfChargedAbove1GeV(EvTag.GetNumOfChargedAbove1GeV());
+ SetNumOfChargedAbove3GeV(EvTag.GetNumOfChargedAbove3GeV());
+ SetNumOfChargedAbove10GeV(EvTag.GetNumOfChargedAbove10GeV());
+ SetNumOfMuonsAbove1GeV(EvTag.GetNumOfMuonsAbove1GeV());
+ SetNumOfMuonsAbove3GeV(EvTag.GetNumOfMuonsAbove3GeV());
+ SetNumOfMuonsAbove10GeV(EvTag.GetNumOfMuonsAbove10GeV());
+ SetNumOfElectronsAbove1GeV(EvTag.GetNumOfElectronsAbove1GeV());
+ SetNumOfElectronsAbove3GeV(EvTag.GetNumOfElectronsAbove3GeV());
+ SetNumOfElectronsAbove10GeV(EvTag.GetNumOfElectronsAbove10GeV());
+
+ SetNumOfElectrons(EvTag.GetNumOfElectrons());
+ SetNumOfMuons(EvTag.GetNumOfMuons());
+ SetNumOfPions(EvTag.GetNumOfPions());
+ SetNumOfKaons(EvTag.GetNumOfKaons());
+ SetNumOfProtons(EvTag.GetNumOfProtons());
+ SetNumOfLambdas(EvTag.GetNumOfLambdas());
- SetNumOfPhotons(EvTag->GetNumOfPhotons());
- SetNumOfPi0s(EvTag->GetNumOfPi0s());
- SetNumOfNeutrons(EvTag->GetNumOfNeutrons());
- SetNumOfKaon0s(EvTag->GetNumOfKaon0s());
+ SetNumOfPhotons(EvTag.GetNumOfPhotons());
+ SetNumOfPi0s(EvTag.GetNumOfPi0s());
+ SetNumOfNeutrons(EvTag.GetNumOfNeutrons());
+ SetNumOfKaon0s(EvTag.GetNumOfKaon0s());
- SetTotalMomentum(EvTag->GetTotalMomentum());
- SetMeanPt(EvTag->GetMeanPt());
- SetMaxPt(EvTag->GetMaxPt());
+ SetTotalMomentum(EvTag.GetTotalMomentum());
+ SetMeanPt(EvTag.GetMeanPt());
+ SetMaxPt(EvTag.GetMaxPt());
- SetNeutralTotalMomentum(EvTag->GetNeutralTotalMomentum());
- SetNeutralMeanPt(EvTag->GetNeutralMeanPt());
- SetNeutralMaxPt(EvTag->GetNeutralMaxPt());
+ SetNeutralTotalMomentum(EvTag.GetNeutralTotalMomentum());
+ SetNeutralMeanPt(EvTag.GetNeutralMeanPt());
+ SetNeutralMaxPt(EvTag.GetNeutralMaxPt());
- SetEventPlaneAngle(EvTag->GetEventPlaneAngle());
- SetHBTRadii(EvTag->GetHBTRadii());
+ SetEventPlaneAngle(EvTag.GetEventPlaneAngle());
+ SetHBTRadii(EvTag.GetHBTRadii());
+}
+
+//______________________________________________________________________________
+AliEventTag & AliEventTag::operator=(const AliEventTag &EvTag)
+{
+ // EventTag assignment operator
+ if (this != &EvTag) {
+ TObject::operator=(EvTag);
+
+ SetEventId(EvTag.GetEventId());
+ SetGUID(EvTag.GetGUID());
+
+ SetNumOfParticipants(EvTag.GetNumOfParticipants());
+ SetImpactParameter(EvTag.GetImpactParameter());
+
+ SetVertexX(EvTag.GetVertexX());
+ SetVertexY(EvTag.GetVertexY());
+ SetVertexZ(EvTag.GetVertexZ());
+
+ SetVertexFlag(EvTag.GetVertexFlag());
+ SetVertexZError(EvTag.GetVertexZError());
+
+ SetTrigger(EvTag.GetTrigger());
+
+ SetZDCNeutronEnergy(EvTag.GetZDCNeutronEnergy());
+ SetZDCProtonEnergy(EvTag.GetZDCProtonEnergy());
+ SetZDCEMEnergy(EvTag.GetZDCEMEnergy());
+
+ SetT0VertexZ(EvTag.GetT0VertexZ());
+
+ SetNumOfTracks(EvTag.GetNumOfTracks());
+ SetNumOfPosTracks(EvTag.GetNumOfPosTracks());
+ SetNumOfNegTracks(EvTag.GetNumOfNegTracks());
+ SetNumOfNeutrTracks(EvTag.GetNumOfNeutrTracks());
+
+ SetNumOfV0s(EvTag.GetNumOfV0s());
+ SetNumOfCascades(EvTag.GetNumOfCascades());
+ SetNumOfKinks(EvTag.GetNumOfKinks());
+
+ SetNumOfPMDTracks(EvTag.GetNumOfPMDTracks());
+ SetNumOfPHOSTracks(EvTag.GetNumOfPHOSTracks());
+ SetNumOfEMCALTracks(EvTag.GetNumOfEMCALTracks());
+ SetNumOfFMDTracks(EvTag.GetNumOfFMDTracks());
+
+ SetNumOfJetCandidates(EvTag.GetNumOfJetCandidates());
+ SetNumOfHardPhotonsCandidates(EvTag.GetNumOfHardPhotonsCandidates());
+
+ SetMaxJetEnergy(EvTag.GetMaxJetEnergy());
+ SetMaxNeutralEnergy(EvTag.GetMaxNeutralEnergy());
+
+ SetNumOfChargedAbove1GeV(EvTag.GetNumOfChargedAbove1GeV());
+ SetNumOfChargedAbove3GeV(EvTag.GetNumOfChargedAbove3GeV());
+ SetNumOfChargedAbove10GeV(EvTag.GetNumOfChargedAbove10GeV());
+ SetNumOfMuonsAbove1GeV(EvTag.GetNumOfMuonsAbove1GeV());
+ SetNumOfMuonsAbove3GeV(EvTag.GetNumOfMuonsAbove3GeV());
+ SetNumOfMuonsAbove10GeV(EvTag.GetNumOfMuonsAbove10GeV());
+ SetNumOfElectronsAbove1GeV(EvTag.GetNumOfElectronsAbove1GeV());
+ SetNumOfElectronsAbove3GeV(EvTag.GetNumOfElectronsAbove3GeV());
+ SetNumOfElectronsAbove10GeV(EvTag.GetNumOfElectronsAbove10GeV());
+
+ SetNumOfElectrons(EvTag.GetNumOfElectrons());
+ SetNumOfMuons(EvTag.GetNumOfMuons());
+ SetNumOfPions(EvTag.GetNumOfPions());
+ SetNumOfKaons(EvTag.GetNumOfKaons());
+ SetNumOfProtons(EvTag.GetNumOfProtons());
+ SetNumOfLambdas(EvTag.GetNumOfLambdas());
+
+
+ SetNumOfPhotons(EvTag.GetNumOfPhotons());
+ SetNumOfPi0s(EvTag.GetNumOfPi0s());
+ SetNumOfNeutrons(EvTag.GetNumOfNeutrons());
+ SetNumOfKaon0s(EvTag.GetNumOfKaon0s());
+
+ SetTotalMomentum(EvTag.GetTotalMomentum());
+ SetMeanPt(EvTag.GetMeanPt());
+ SetMaxPt(EvTag.GetMaxPt());
+
+ SetNeutralTotalMomentum(EvTag.GetNeutralTotalMomentum());
+ SetNeutralMeanPt(EvTag.GetNeutralMeanPt());
+ SetNeutralMaxPt(EvTag.GetNeutralMaxPt());
+
+ SetEventPlaneAngle(EvTag.GetEventPlaneAngle());
+ SetHBTRadii(EvTag.GetHBTRadii());
+ }
+ return *this;
}
+
//______________________________________________________________________________
AliEventTag::~AliEventTag()
{
+ // AliEventTag destructor
}
//-------------------------------------------------------------------------
#include "TObject.h"
-#include "TClonesArray.h"
//______________________________________________________________________________
class AliEventTag : public TObject
{
- private:
- Int_t fAliceEventId; //The event id
- const char *fGUID; //The unique identifier of the file
- Int_t fNumberOfParticipants; //Number of participants
- Float_t fImpactParameter; //The impact parameter
-
- Int_t fPrimaryVertexFlag; //Primary vertex flag: 0->not found, 1->found
-
- Float_t fPrimaryVertexX; //Primary vertex - X coordinate
- Float_t fPrimaryVertexY; //Primary vertex - Y coordinate
- Float_t fPrimaryVertexZ; //Primary vertex - Z coordinate
-
- Float_t fPrimaryVertexZError; //Primary vertex - Z coordinate - error
-
- Int_t fTriggerInfo; //Information from trigger
- Float_t fZDCNeutronEnergy; //ZDC info - neutron
- Float_t fZDCProtonEnergy; //ZDC info - proton
- Float_t fZDCEMEnergy; //ZDC info - em
- Float_t fT0VertexZ; //T0 info
- Int_t fNumberOfTracks; //Multiplicity
- Int_t fNumberOfPositiveTracks; //Multiplicity of positive tracks
- Int_t fNumberOfNegativeTracks; //Multiplicity of negative tracks
- Int_t fNumberOfNeutralTracks; //Multiplicity of neutral tracks
- Int_t fNumberOfV0s; //Number of V0s
- Int_t fNumberOfCascades; //Number of cascades
- Int_t fNumberOfKinks; //Number of kinks
- Int_t fNumberOfPMDTracks; //PMD tracks
- Int_t fNumberOfPHOSTracks; //PHOS tracks
- Int_t fNumberOfEMCALTracks; //EMCAL tracks
- Int_t fNumberOfFMDTracks; //FMD tracks
- Int_t fNumberOfJetCandidates; //Jet candidates
-
- Float_t fMaxJetEnergy; //jet energy info
-
- Int_t fNumberOfHardPhotonsCandidates; //Hard photons candidates
-
- Float_t fMaxNeutralEnergy; //neutral energy info
-
-
- Int_t fNumberOfChargedAbove1GeV;
- Int_t fNumberOfChargedAbove3GeV;
- Int_t fNumberOfChargedAbove10GeV;
- Int_t fNumberOfMuonsAbove1GeV;
- Int_t fNumberOfMuonsAbove3GeV;
- Int_t fNumberOfMuonsAbove10GeV;
- Int_t fNumberOfElectronsAbove1GeV;
- Int_t fNumberOfElectronsAbove3GeV;
- Int_t fNumberOfElectronsAbove10GeV;
-
-
-
- Int_t fNumberOfElectrons; //Number of electrons
- Int_t fNumberOfMuons; //Number of muons
- Int_t fNumberOfPions; //Number of pions
- Int_t fNumberOfKaons; //Number of kaons
- Int_t fNumberOfProtons; //Number of protons
- Int_t fNumberOfLambdas; //Number of lambdas
-
- Int_t fNumberOfPhotons;
- Int_t fNumberOfPi0s;
- Int_t fNumberOfNeutrons;
- Int_t fNumberOfKaon0s;
-
-
-
- Float_t fTotalP; //Sum of the momentum per event
- Float_t fMeanPt; //Mean Pt per event
- Float_t fMaxPt; //Max Pt for each event
-
- Float_t fTotalNeutralP; //Sum of the momentum per event for neutral
- Float_t fMeanNeutralPt; //Mean Pt per event for neutral
- Float_t fMaxNeutralPt; //Max Pt for each event for neutral
-
- Float_t fEventPlaneAngle; //event plane info
- Float_t fHBTRadii; //HBT info
-
public:
AliEventTag();
- AliEventTag(AliEventTag *t);
+ AliEventTag(const AliEventTag & t);
virtual ~AliEventTag();
+
+ AliEventTag &operator=(const AliEventTag &rhs);
+
void SetEventId(Int_t Pid) {fAliceEventId = Pid;}
void SetGUID(const char *Pid) {fGUID = Pid;}
- Int_t GetEventId() {return fAliceEventId;}
- const char *GetGUID() {return fGUID;}
+ Int_t GetEventId() const {return fAliceEventId;}
+ const char *GetGUID() const {return fGUID;}
- Int_t GetNumOfParticipants() {return fNumberOfParticipants;}
- Float_t GetImpactParameter() {return fImpactParameter;}
+ Int_t GetNumOfParticipants() const {return fNumberOfParticipants;}
+ Float_t GetImpactParameter() const {return fImpactParameter;}
- Float_t GetVertexX() {return fPrimaryVertexX;}
- Float_t GetVertexY() {return fPrimaryVertexY;}
- Float_t GetVertexZ() {return fPrimaryVertexZ;}
+ Float_t GetVertexX() const {return fPrimaryVertexX;}
+ Float_t GetVertexY() const {return fPrimaryVertexY;}
+ Float_t GetVertexZ() const {return fPrimaryVertexZ;}
- Int_t GetVertexFlag() {return fPrimaryVertexFlag;}
- Float_t GetVertexZError() {return fPrimaryVertexZError;}
+ Int_t GetVertexFlag() const {return fPrimaryVertexFlag;}
+ Float_t GetVertexZError() const {return fPrimaryVertexZError;}
+ Int_t GetTrigger() const {return fTriggerInfo;}
+ Float_t GetZDCNeutronEnergy() const {return fZDCNeutronEnergy;}
+ Float_t GetZDCProtonEnergy() const {return fZDCProtonEnergy;}
+ Float_t GetZDCEMEnergy() const {return fZDCEMEnergy;}
- Int_t GetTrigger() {return fTriggerInfo;}
+ Float_t GetT0VertexZ() const {return fT0VertexZ;}
- Float_t GetZDCNeutronEnergy() {return fZDCNeutronEnergy;}
- Float_t GetZDCProtonEnergy() {return fZDCProtonEnergy;}
- Float_t GetZDCEMEnergy() {return fZDCEMEnergy;}
+ Int_t GetNumOfTracks() const {return fNumberOfTracks;}
+ Int_t GetNumOfPosTracks() const {return fNumberOfPositiveTracks;}
+ Int_t GetNumOfNegTracks() const {return fNumberOfNegativeTracks;}
+ Int_t GetNumOfNeutrTracks() const {return fNumberOfNeutralTracks;}
- Float_t GetT0VertexZ() {return fT0VertexZ;}
+ Int_t GetNumOfV0s() const {return fNumberOfV0s;}
+ Int_t GetNumOfCascades() const {return fNumberOfCascades;}
+ Int_t GetNumOfKinks() const {return fNumberOfKinks;}
- Int_t GetNumOfTracks() {return fNumberOfTracks;}
- Int_t GetNumOfPosTracks() {return fNumberOfPositiveTracks;}
- Int_t GetNumOfNegTracks() {return fNumberOfNegativeTracks;}
- Int_t GetNumOfNeutrTracks() {return fNumberOfNeutralTracks;}
+ Int_t GetNumOfPMDTracks() const {return fNumberOfPMDTracks;}
+ Int_t GetNumOfPHOSTracks() const {return fNumberOfPHOSTracks;}
+ Int_t GetNumOfEMCALTracks() const {return fNumberOfEMCALTracks;}
+ Int_t GetNumOfFMDTracks() const {return fNumberOfFMDTracks;}
- Int_t GetNumOfV0s() {return fNumberOfV0s;}
- Int_t GetNumOfCascades() {return fNumberOfCascades;}
- Int_t GetNumOfKinks() {return fNumberOfKinks;}
+ Int_t GetNumOfJetCandidates() const {return fNumberOfJetCandidates;}
+ Int_t GetNumOfHardPhotonsCandidates() const {return fNumberOfHardPhotonsCandidates;}
- Int_t GetNumOfPMDTracks() {return fNumberOfPMDTracks;}
- Int_t GetNumOfPHOSTracks() {return fNumberOfPHOSTracks;}
- Int_t GetNumOfEMCALTracks() {return fNumberOfEMCALTracks;}
- Int_t GetNumOfFMDTracks() {return fNumberOfFMDTracks;}
+ Float_t GetMaxJetEnergy() const {return fMaxJetEnergy;}
+ Float_t GetMaxNeutralEnergy() const {return fMaxNeutralEnergy;}
+
+ Int_t GetNumOfChargedAbove1GeV() const {return fNumberOfChargedAbove1GeV;}
+ Int_t GetNumOfChargedAbove3GeV() const {return fNumberOfChargedAbove3GeV;}
+ Int_t GetNumOfChargedAbove10GeV() const {return fNumberOfChargedAbove10GeV;}
+ Int_t GetNumOfMuonsAbove1GeV() const {return fNumberOfMuonsAbove1GeV;}
+ Int_t GetNumOfMuonsAbove3GeV() const {return fNumberOfMuonsAbove3GeV;}
+ Int_t GetNumOfMuonsAbove10GeV() const {return fNumberOfMuonsAbove10GeV;}
+ Int_t GetNumOfElectronsAbove1GeV() const {return fNumberOfElectronsAbove1GeV;}
+ Int_t GetNumOfElectronsAbove3GeV() const {return fNumberOfElectronsAbove3GeV;}
+ Int_t GetNumOfElectronsAbove10GeV() const {return fNumberOfElectronsAbove10GeV;}
+
+ Int_t GetNumOfElectrons() const {return fNumberOfElectrons;}
+ Int_t GetNumOfMuons() const {return fNumberOfMuons;}
+ Int_t GetNumOfPions() const {return fNumberOfPions;}
+ Int_t GetNumOfKaons() const {return fNumberOfKaons;}
+ Int_t GetNumOfProtons() const {return fNumberOfProtons;}
+ Int_t GetNumOfLambdas() const {return fNumberOfLambdas;}
- Int_t GetNumOfJetCandidates() {return fNumberOfJetCandidates;}
- Int_t GetNumOfHardPhotonsCandidates() {return fNumberOfHardPhotonsCandidates;}
+ Int_t GetNumOfPhotons() const {return fNumberOfPhotons;}
+ Int_t GetNumOfPi0s() const {return fNumberOfPi0s;}
+ Int_t GetNumOfNeutrons() const {return fNumberOfNeutrons;}
+ Int_t GetNumOfKaon0s() const {return fNumberOfKaon0s;}
- Float_t GetMaxJetEnergy() {return fMaxJetEnergy;}
- Float_t GetMaxNeutralEnergy() {return fMaxNeutralEnergy;}
-
- Int_t GetNumOfChargedAbove1GeV() {return fNumberOfChargedAbove1GeV;}
- Int_t GetNumOfChargedAbove3GeV() {return fNumberOfChargedAbove3GeV;}
- Int_t GetNumOfChargedAbove10GeV() {return fNumberOfChargedAbove10GeV;}
- Int_t GetNumOfMuonsAbove1GeV() {return fNumberOfMuonsAbove1GeV;}
- Int_t GetNumOfMuonsAbove3GeV() {return fNumberOfMuonsAbove3GeV;}
- Int_t GetNumOfMuonsAbove10GeV() {return fNumberOfMuonsAbove10GeV;}
- Int_t GetNumOfElectronsAbove1GeV() {return fNumberOfElectronsAbove1GeV;}
- Int_t GetNumOfElectronsAbove3GeV() {return fNumberOfElectronsAbove3GeV;}
- Int_t GetNumOfElectronsAbove10GeV() {return fNumberOfElectronsAbove10GeV;}
+
+ Float_t GetTotalMomentum() const {return fTotalP;}
+ Float_t GetMeanPt() const {return fMeanPt;}
+ Float_t GetMaxPt() const {return fMaxPt;}
+
+ Float_t GetNeutralTotalMomentum() const {return fTotalNeutralP;}
+ Float_t GetNeutralMeanPt() const {return fMeanNeutralPt;}
+ Float_t GetNeutralMaxPt() const {return fMaxNeutralPt;}
+
+ Float_t GetEventPlaneAngle() const {return fEventPlaneAngle;}
+ Float_t GetHBTRadii() const {return fHBTRadii;}
+
+ private:
+ Int_t fAliceEventId; //The event id
+ const char *fGUID; //The unique identifier of the file
+ Int_t fNumberOfParticipants; //Number of participants
+ Float_t fImpactParameter; //The impact parameter
- Int_t GetNumOfElectrons() {return fNumberOfElectrons;}
- Int_t GetNumOfMuons() {return fNumberOfMuons;}
- Int_t GetNumOfPions() {return fNumberOfPions;}
- Int_t GetNumOfKaons() {return fNumberOfKaons;}
- Int_t GetNumOfProtons() {return fNumberOfProtons;}
- Int_t GetNumOfLambdas() {return fNumberOfLambdas;}
+ Int_t fPrimaryVertexFlag; //Primary vertex flag: 0->not found, 1->found
+
+ Float_t fPrimaryVertexX; //Primary vertex - X coordinate
+ Float_t fPrimaryVertexY; //Primary vertex - Y coordinate
+ Float_t fPrimaryVertexZ; //Primary vertex - Z coordinate
+
+ Float_t fPrimaryVertexZError; //Primary vertex - Z coordinate - error
+
+ Int_t fTriggerInfo; //Information from trigger
+ Float_t fZDCNeutronEnergy; //ZDC info - neutron
+ Float_t fZDCProtonEnergy; //ZDC info - proton
+ Float_t fZDCEMEnergy; //ZDC info - em
+ Float_t fT0VertexZ; //T0 info
+ Int_t fNumberOfTracks; //Multiplicity
+ Int_t fNumberOfPositiveTracks; //Multiplicity of positive tracks
+ Int_t fNumberOfNegativeTracks; //Multiplicity of negative tracks
+ Int_t fNumberOfNeutralTracks; //Multiplicity of neutral tracks
+ Int_t fNumberOfV0s; //Number of V0s
+ Int_t fNumberOfCascades; //Number of cascades
+ Int_t fNumberOfKinks; //Number of kinks
+ Int_t fNumberOfPMDTracks; //PMD tracks
+ Int_t fNumberOfPHOSTracks; //PHOS tracks
+ Int_t fNumberOfEMCALTracks; //EMCAL tracks
+ Int_t fNumberOfFMDTracks; //FMD tracks
+ Int_t fNumberOfJetCandidates; //Jet candidates
+
+ Float_t fMaxJetEnergy; //jet energy info
+ Int_t fNumberOfHardPhotonsCandidates; //Hard photons candidates
- Int_t GetNumOfPhotons() {return fNumberOfPhotons;}
- Int_t GetNumOfPi0s() {return fNumberOfPi0s;}
- Int_t GetNumOfNeutrons() {return fNumberOfNeutrons;}
- Int_t GetNumOfKaon0s() {return fNumberOfKaon0s;}
+ Float_t fMaxNeutralEnergy; //neutral energy info
+
+ Int_t fNumberOfChargedAbove1GeV; //Number of charged above 1 GeV/c
+ Int_t fNumberOfChargedAbove3GeV; //Number of charged above 3 GeV/c
+ Int_t fNumberOfChargedAbove10GeV; //Number of charged above 10 GeV/c
+ Int_t fNumberOfMuonsAbove1GeV; //Number of muons above 1 GeV/c
+ Int_t fNumberOfMuonsAbove3GeV; //Number of muons above 3 GeV/c
+ Int_t fNumberOfMuonsAbove10GeV; //Number of muons above 10 GeV/c
+ Int_t fNumberOfElectronsAbove1GeV; //Number of electrons above 1 GeV/c
+ Int_t fNumberOfElectronsAbove3GeV; //Number of electrons above 3 GeV/c
+ Int_t fNumberOfElectronsAbove10GeV; //Number of electrons above 10 GeV/c
- Float_t GetTotalMomentum() {return fTotalP;}
- Float_t GetMeanPt() {return fMeanPt;}
- Float_t GetMaxPt() {return fMaxPt;}
- Float_t GetNeutralTotalMomentum() {return fTotalNeutralP;}
- Float_t GetNeutralMeanPt() {return fMeanNeutralPt;}
- Float_t GetNeutralMaxPt() {return fMaxNeutralPt;}
- Float_t GetEventPlaneAngle() {return fEventPlaneAngle;}
- Float_t GetHBTRadii() {return fHBTRadii;}
+ Int_t fNumberOfElectrons; //Number of electrons
+ Int_t fNumberOfMuons; //Number of muons
+ Int_t fNumberOfPions; //Number of pions
+ Int_t fNumberOfKaons; //Number of kaons
+ Int_t fNumberOfProtons; //Number of protons
+ Int_t fNumberOfLambdas; //Number of lambdas
+
+ Int_t fNumberOfPhotons; //Number of photons
+ Int_t fNumberOfPi0s; //Number of pi0
+ Int_t fNumberOfNeutrons; //Number of neutrons
+ Int_t fNumberOfKaon0s; //Number of Ks
+
+
+
+ Float_t fTotalP; //Sum of the momentum per event
+ Float_t fMeanPt; //Mean Pt per event
+ Float_t fMaxPt; //Max Pt for each event
+
+ Float_t fTotalNeutralP; //Sum of the momentum per event for neutral
+ Float_t fMeanNeutralPt; //Mean Pt per event for neutral
+ Float_t fMaxNeutralPt; //Max Pt for each event for neutral
+
+ Float_t fEventPlaneAngle; //event plane info
+ Float_t fHBTRadii; //HBT info
ClassDef(AliEventTag,3) //(ClassName, ClassVersion)
};
evTag->SetMeanPt(MeanPt);
evTag->SetMaxPt(MaxPt);
- tag->AddEventTag(evTag);
+ tag->AddEventTag(*evTag);
}
lastEvent = i_NumberOfEvents;
}
//______________________________________________________________________________
-void AliRunTag::AddEventTag(AliEventTag *EvTag)
+void AliRunTag::AddEventTag(const AliEventTag & EvTag)
{
TClonesArray &events = *fEventTag;
new(events[fNumEvents++]) AliEventTag(EvTag);
void SetLHCTag(Float_t Plumin, char *type);
void SetDetectorTag(AliDetectorTag *t);
- void AddEventTag(AliEventTag *t);
+ void AddEventTag(const AliEventTag &t);
void Clear(const char * opt = "");
//-----------------------------------------------------------------
//ROOT
-#include <TObject.h>
-#include <Riostream.h>
-#include <TSystem.h>
-#include <TChain.h>
#include <TFile.h>
#include <TString.h>
+#include <TTree.h>
//ROOT-AliEn
#include <TGrid.h>
#include "AliEventTag.h"
#include "AliESD.h"
#include "AliESDVertex.h"
-#include "AliPID.h"
-#include "AliESDpid.h"
#include "AliLog.h"
fHost = "";
fPort = 0;
fStorage = 0;
- fresult = 0;
+ // fresult = 0;
}
//______________________________________________________________________________
{
//==============Default constructor for a AliTagCreator==================
fStorage = 0;
- fresult = 0;
+ // fresult = 0;
fgridpath = "";
fHost = host;
fUser = username;
{
//==============Default constructor for a AliTagCreator==================
fStorage = 0;
- fresult = 0;
+ // fresult = 0;
fgridpath = "";
fHost = host;
fUser = username;
//================Default destructor for a AliTagCreator=======================
}
-//______________________________________________________________________________
-void AliTagCreator::SetSE(const char *se)
-{
- fSE = se;
-}
-
-//______________________________________________________________________________
-void AliTagCreator::SetGridPath(const char *gridpath)
-{
- fgridpath = gridpath;
-}
-
//______________________________________________________________________________
void AliTagCreator::SetStorage(Int_t storage)
{
+ // Sets correctly the storage: 0 for local, 1 for GRID
fStorage = storage;
if(fStorage == 0)
AliInfo(Form("Tags will be stored locally...."));
//______________________________________________________________________________
Bool_t AliTagCreator::ConnectToGrid(const char *host, Int_t port, const char *username)
{
+ // Connects to a given AliEn API service
fHost = host;
fUser = username;
fPort = port;
}
//______________________________________________________________________________
-Bool_t AliTagCreator::ReadESDCollection(TGridResult *res)
+Bool_t AliTagCreator::ReadESDCollection(TGridResult *fresult)
{
- fresult = res;
- Int_t NEntries = fresult->GetEntries();
+ // Reads the entry of the TGridResult and creates the tags
+ Int_t nEntries = fresult->GetEntries();
- TString gridname = "alien://";
- TString AlienUrl;
+ TString alienUrl;
const char *guid;
Int_t counter = 0;
- for(Int_t i = 0; i < NEntries; i++)
+ for(Int_t i = 0; i < nEntries; i++)
{
- AlienUrl = gridname;
- AlienUrl += fresult->GetKey(i,"lfn");
+ alienUrl = fresult->GetKey(i,"turl");
guid = fresult->GetKey(i,"guid");
- TFile *f = TFile::Open(AlienUrl,"READ");
+ TFile *f = TFile::Open(alienUrl,"READ");
CreateTag(f,guid,counter);
f->Close();
delete f;
//_____________________________________________________________________________
void AliTagCreator::CreateTag(TFile* file, const char *guid, Int_t Counter)
{
+ // Creates the tags for all the events in a given ESD file
Int_t ntrack;
- Int_t NProtons, NKaons, NPions, NMuons, NElectrons;
- Int_t Npos, Nneg, Nneutr;
- Int_t NK0s, Nneutrons, Npi0s, Ngamas;
- Int_t Nch1GeV, Nch3GeV, Nch10GeV;
- Int_t Nmu1GeV, Nmu3GeV, Nmu10GeV;
- Int_t Nel1GeV, Nel3GeV, Nel10GeV;
- Float_t MaxPt = .0, MeanPt = .0, TotalP = .0;
+ Int_t nProtons, nKaons, nPions, nMuons, nElectrons;
+ Int_t nPos, nNeg, nNeutr;
+ Int_t nK0s, nNeutrons, nPi0s, nGamas;
+ Int_t nCh1GeV, nCh3GeV, nCh10GeV;
+ Int_t nMu1GeV, nMu3GeV, nMu10GeV;
+ Int_t nEl1GeV, nEl3GeV, nEl10GeV;
+ Float_t maxPt = .0, meanPt = .0, totalP = .0;
AliRunTag *tag = new AliRunTag();
AliDetectorTag *detTag = new AliDetectorTag();
tag->SetRunId(esd->GetRunNumber());
- Int_t i_NumberOfEvents = b->GetEntries();
- for (Int_t i_EventNumber = 0; i_EventNumber < i_NumberOfEvents; i_EventNumber++)
+ Int_t iNumberOfEvents = b->GetEntries();
+ for (Int_t iEventNumber = 0; iEventNumber < iNumberOfEvents; iEventNumber++)
{
ntrack = 0;
- Npos = 0;
- Nneg = 0;
- Nneutr =0;
- NK0s = 0;
- Nneutrons = 0;
- Npi0s = 0;
- Ngamas = 0;
- NProtons = 0;
- NKaons = 0;
- NPions = 0;
- NMuons = 0;
- NElectrons = 0;
- Nch1GeV = 0;
- Nch3GeV = 0;
- Nch10GeV = 0;
- Nmu1GeV = 0;
- Nmu3GeV = 0;
- Nmu10GeV = 0;
- Nel1GeV = 0;
- Nel3GeV = 0;
- Nel10GeV = 0;
- MaxPt = .0;
- MeanPt = .0;
- TotalP = .0;
+ nPos = 0;
+ nNeg = 0;
+ nNeutr =0;
+ nK0s = 0;
+ nNeutrons = 0;
+ nPi0s = 0;
+ nGamas = 0;
+ nProtons = 0;
+ nKaons = 0;
+ nPions = 0;
+ nMuons = 0;
+ nElectrons = 0;
+ nCh1GeV = 0;
+ nCh3GeV = 0;
+ nCh10GeV = 0;
+ nMu1GeV = 0;
+ nMu3GeV = 0;
+ nMu10GeV = 0;
+ nEl1GeV = 0;
+ nEl3GeV = 0;
+ nEl10GeV = 0;
+ maxPt = .0;
+ meanPt = .0;
+ totalP = .0;
- b->GetEntry(i_EventNumber);
- const AliESDVertex * VertexIn = esd->GetVertex();
+ b->GetEntry(iEventNumber);
+ const AliESDVertex * vertexIn = esd->GetVertex();
- for (Int_t i_TrackNumber = 0; i_TrackNumber < esd->GetNumberOfTracks(); i_TrackNumber++)
+ for (Int_t iTrackNumber = 0; iTrackNumber < esd->GetNumberOfTracks(); iTrackNumber++)
{
- AliESDtrack * ESDTrack = esd->GetTrack(i_TrackNumber);
- UInt_t status = ESDTrack->GetStatus();
+ AliESDtrack * esdTrack = esd->GetTrack(iTrackNumber);
+ UInt_t status = esdTrack->GetStatus();
//select only tracks with ITS refit
if ((status&AliESDtrack::kITSrefit)==0) continue;
//select only tracks with the "combined PID"
if ((status&AliESDtrack::kESDpid)==0) continue;
Double_t p[3];
- ESDTrack->GetPxPyPz(p);
- Double_t P = sqrt(pow(p[0],2) + pow(p[1],2) + pow(p[2],2));
+ esdTrack->GetPxPyPz(p);
+ Double_t momentum = sqrt(pow(p[0],2) + pow(p[1],2) + pow(p[2],2));
Double_t fPt = sqrt(pow(p[0],2) + pow(p[1],2));
- TotalP += P;
- MeanPt += fPt;
- if(fPt > MaxPt)
- MaxPt = fPt;
+ totalP += momentum;
+ meanPt += fPt;
+ if(fPt > maxPt)
+ maxPt = fPt;
- if(ESDTrack->GetSign() > 0)
+ if(esdTrack->GetSign() > 0)
{
- Npos++;
+ nPos++;
if(fPt > 1.0)
- Nch1GeV++;
+ nCh1GeV++;
if(fPt > 3.0)
- Nch3GeV++;
+ nCh3GeV++;
if(fPt > 10.0)
- Nch10GeV++;
+ nCh10GeV++;
}
- if(ESDTrack->GetSign() < 0)
+ if(esdTrack->GetSign() < 0)
{
- Nneg++;
+ nNeg++;
if(fPt > 1.0)
- Nch1GeV++;
+ nCh1GeV++;
if(fPt > 3.0)
- Nch3GeV++;
+ nCh3GeV++;
if(fPt > 10.0)
- Nch10GeV++;
+ nCh10GeV++;
}
- if(ESDTrack->GetSign() == 0)
- Nneutr++;
+ if(esdTrack->GetSign() == 0)
+ nNeutr++;
//PID
Double_t prob[10];
- ESDTrack->GetESDpid(prob);
+ esdTrack->GetESDpid(prob);
//K0s
if ((prob[8]>prob[7])&&(prob[8]>prob[6])&&(prob[8]>prob[5])&&(prob[8]>prob[4])&&(prob[8]>prob[3])&&(prob[8]>prob[2])&&(prob[8]>prob[1])&&(prob[8]>prob[0]))
- NK0s++;
+ nK0s++;
//neutrons
if ((prob[7]>prob[8])&&(prob[7]>prob[6])&&(prob[7]>prob[5])&&(prob[7]>prob[4])&&(prob[7]>prob[3])&&(prob[7]>prob[2])&&(prob[7]>prob[1])&&(prob[7]>prob[0]))
- Nneutrons++;
+ nNeutrons++;
//pi0s
if ((prob[6]>prob[8])&&(prob[6]>prob[7])&&(prob[6]>prob[5])&&(prob[6]>prob[4])&&(prob[6]>prob[3])&&(prob[6]>prob[2])&&(prob[6]>prob[1])&&(prob[6]>prob[0]))
- Npi0s++;
+ nPi0s++;
//gamas
if ((prob[5]>prob[8])&&(prob[5]>prob[7])&&(prob[5]>prob[6])&&(prob[5]>prob[4])&&(prob[5]>prob[3])&&(prob[5]>prob[2])&&(prob[5]>prob[1])&&(prob[5]>prob[0]))
- Ngamas++;
+ nGamas++;
//protons
if ((prob[4]>prob[8])&&(prob[4]>prob[7])&&(prob[4]>prob[6])&&(prob[4]>prob[5])&&(prob[4]>prob[3])&&(prob[4]>prob[2])&&(prob[4]>prob[1])&&(prob[4]>prob[0]))
- NProtons++;
+ nProtons++;
//kaons
if ((prob[3]>prob[8])&&(prob[3]>prob[7])&&(prob[3]>prob[6])&&(prob[3]>prob[5])&&(prob[3]>prob[4])&&(prob[3]>prob[2])&&(prob[3]>prob[1])&&(prob[3]>prob[0]))
- NKaons++;
+ nKaons++;
//pions
if ((prob[2]>prob[8])&&(prob[2]>prob[7])&&(prob[2]>prob[6])&&(prob[2]>prob[5])&&(prob[2]>prob[4])&&(prob[2]>prob[3])&&(prob[2]>prob[1])&&(prob[2]>prob[0]))
- NPions++;
+ nPions++;
//muons
if ((prob[1]>prob[8])&&(prob[1]>prob[7])&&(prob[1]>prob[6])&&(prob[1]>prob[5])&&(prob[1]>prob[4])&&(prob[1]>prob[3])&&(prob[1]>prob[2])&&(prob[1]>prob[0]))
{
- NMuons++;
+ nMuons++;
if(fPt > 1.0)
- Nmu1GeV++;
+ nMu1GeV++;
if(fPt > 3.0)
- Nmu3GeV++;
+ nMu3GeV++;
if(fPt > 10.0)
- Nmu10GeV++;
+ nMu10GeV++;
}
//electrons
if ((prob[0]>prob[8])&&(prob[0]>prob[7])&&(prob[0]>prob[6])&&(prob[0]>prob[5])&&(prob[0]>prob[4])&&(prob[0]>prob[3])&&(prob[0]>prob[2])&&(prob[0]>prob[1]))
{
- NElectrons++;
+ nElectrons++;
if(fPt > 1.0)
- Nel1GeV++;
+ nEl1GeV++;
if(fPt > 3.0)
- Nel3GeV++;
+ nEl3GeV++;
if(fPt > 10.0)
- Nel10GeV++;
+ nEl10GeV++;
}
}//track loop
// Fill the event tags
if(ntrack != 0)
- MeanPt = MeanPt/ntrack;
+ meanPt = meanPt/ntrack;
- evTag->SetEventId(i_EventNumber+1);
+ evTag->SetEventId(iEventNumber+1);
evTag->SetGUID(guid);
- evTag->SetVertexX(VertexIn->GetXv());
- evTag->SetVertexY(VertexIn->GetYv());
- evTag->SetVertexZ(VertexIn->GetZv());
+ evTag->SetVertexX(vertexIn->GetXv());
+ evTag->SetVertexY(vertexIn->GetYv());
+ evTag->SetVertexZ(vertexIn->GetZv());
evTag->SetT0VertexZ(esd->GetT0zVertex());
evTag->SetNumOfTracks(esd->GetNumberOfTracks());
- evTag->SetNumOfPosTracks(Npos);
- evTag->SetNumOfNegTracks(Nneg);
- evTag->SetNumOfNeutrTracks(Nneutr);
+ evTag->SetNumOfPosTracks(nPos);
+ evTag->SetNumOfNegTracks(nNeg);
+ evTag->SetNumOfNeutrTracks(nNeutr);
evTag->SetNumOfV0s(esd->GetNumberOfV0s());
evTag->SetNumOfCascades(esd->GetNumberOfCascades());
evTag->SetNumOfKinks(esd->GetNumberOfKinks());
evTag->SetNumOfPMDTracks(esd->GetNumberOfPmdTracks());
- evTag->SetNumOfProtons(NProtons);
- evTag->SetNumOfKaons(NKaons);
- evTag->SetNumOfPions(NPions);
- evTag->SetNumOfMuons(NMuons);
- evTag->SetNumOfElectrons(NElectrons);
- evTag->SetNumOfPhotons(Ngamas);
- evTag->SetNumOfPi0s(Npi0s);
- evTag->SetNumOfNeutrons(Nneutrons);
- evTag->SetNumOfKaon0s(NK0s);
+ evTag->SetNumOfProtons(nProtons);
+ evTag->SetNumOfKaons(nKaons);
+ evTag->SetNumOfPions(nPions);
+ evTag->SetNumOfMuons(nMuons);
+ evTag->SetNumOfElectrons(nElectrons);
+ evTag->SetNumOfPhotons(nGamas);
+ evTag->SetNumOfPi0s(nPi0s);
+ evTag->SetNumOfNeutrons(nNeutrons);
+ evTag->SetNumOfKaon0s(nK0s);
- evTag->SetNumOfChargedAbove1GeV(Nch1GeV);
- evTag->SetNumOfChargedAbove3GeV(Nch3GeV);
- evTag->SetNumOfChargedAbove10GeV(Nch10GeV);
- evTag->SetNumOfMuonsAbove1GeV(Nmu1GeV);
- evTag->SetNumOfMuonsAbove3GeV(Nmu3GeV);
- evTag->SetNumOfMuonsAbove10GeV(Nmu10GeV);
- evTag->SetNumOfElectronsAbove1GeV(Nel1GeV);
- evTag->SetNumOfElectronsAbove3GeV(Nel3GeV);
- evTag->SetNumOfElectronsAbove10GeV(Nel10GeV);
+ evTag->SetNumOfChargedAbove1GeV(nCh1GeV);
+ evTag->SetNumOfChargedAbove3GeV(nCh3GeV);
+ evTag->SetNumOfChargedAbove10GeV(nCh10GeV);
+ evTag->SetNumOfMuonsAbove1GeV(nMu1GeV);
+ evTag->SetNumOfMuonsAbove3GeV(nMu3GeV);
+ evTag->SetNumOfMuonsAbove10GeV(nMu10GeV);
+ evTag->SetNumOfElectronsAbove1GeV(nEl1GeV);
+ evTag->SetNumOfElectronsAbove3GeV(nEl3GeV);
+ evTag->SetNumOfElectronsAbove10GeV(nEl10GeV);
evTag->SetNumOfPHOSTracks(esd->GetNumberOfPHOSParticles());
evTag->SetNumOfEMCALTracks(esd->GetNumberOfEMCALParticles());
- evTag->SetTotalMomentum(TotalP);
- evTag->SetMeanPt(MeanPt);
- evTag->SetMaxPt(MaxPt);
+ evTag->SetTotalMomentum(totalP);
+ evTag->SetMeanPt(meanPt);
+ evTag->SetMaxPt(maxPt);
- tag->AddEventTag(evTag);
+ tag->AddEventTag(*evTag);
}
- lastEvent = i_NumberOfEvents;
+ lastEvent = iNumberOfEvents;
t->Delete("");
ttag.Fill();
tag->Clear();
- TString LocalfileName = "Run"; LocalfileName += tag->GetRunId();
- LocalfileName += ".Event"; LocalfileName += firstEvent; LocalfileName += "_"; LocalfileName += lastEvent; LocalfileName += "."; LocalfileName += Counter;
- LocalfileName += ".ESD.tag.root";
+ TString localFileName = "Run"; localFileName += tag->GetRunId();
+ localFileName += ".Event"; localFileName += firstEvent; localFileName += "_"; localFileName += lastEvent; localFileName += "."; localFileName += Counter;
+ localFileName += ".ESD.tag.root";
- TString AlienLocation = "/alien";
- AlienLocation += gGrid->Pwd();
- AlienLocation += fgridpath.Data();
- AlienLocation += "/";
- AlienLocation += LocalfileName;
- AlienLocation += "?se=";
- AlienLocation += fSE.Data();
+ TString alienLocation = "/alien";
+ alienLocation += gGrid->Pwd();
+ alienLocation += fgridpath.Data();
+ alienLocation += "/";
+ alienLocation += localFileName;
+ alienLocation += "?se=";
+ alienLocation += fSE.Data();
- TString FileName;
+ TString fileName;
if(fStorage == 0)
{
- FileName = LocalfileName.Data();
- cout<<"Writing tags to local file: "<<FileName.Data()<<endl;
+ fileName = localFileName.Data();
+ AliInfo(Form("Writing tags to local file: %s",fileName.Data()));
}
if(fStorage == 1)
{
- FileName = AlienLocation.Data();
- cout<<"Writing tags to grid file: "<<FileName.Data()<<endl;
+ fileName = alienLocation.Data();
+ AliInfo(Form("Writing tags to grid file: %s",fileName.Data()));
}
- TFile* ftag = TFile::Open(FileName, "recreate");
+ TFile* ftag = TFile::Open(fileName, "recreate");
ftag->cd();
ttag.Write();
ftag->Close();
//ROOT
#include <TObject.h>
-#include <TFile.h>
-#include <TSystem.h>
-#include <TGridResult.h>
+class TFile;
+class TGridResult;
class AliTagCreator : public TObject {
+ public:
+ AliTagCreator();
+ AliTagCreator(const char *host, Int_t port, const char *username);
+ AliTagCreator(const char *host, Int_t port, const char *username, const char *passwd);
+ ~AliTagCreator();
+
+ void SetSE(const char *se){fSE = se;}
+ void SetStorage(Int_t storage);
+ void SetGridPath(const char *gridpath){fgridpath = gridpath;}
+ Bool_t ConnectToGrid(const char *host, Int_t port, const char *username);
+ Bool_t ReadESDCollection(TGridResult *result);
+
protected:
TString fUser; //the username in AliEn
TString fPasswd; //the username's password
TString fgridpath; //the alien location of the tag files
Int_t fPort; //the defined port for the host login
Int_t fStorage; //0:local - 1:grid
- TGridResult *fresult; //the results from the grid query
+ // TGridResult *fresult; //the results from the grid query
void CreateTag(TFile* file, const char *guid, Int_t Counter);
- public:
- AliTagCreator();
- AliTagCreator(const char *host, Int_t port, const char *username);
- AliTagCreator(const char *host, Int_t port, const char *username, const char *passwd);
- ~AliTagCreator();
-
- void SetSE(const char *se);
- void SetStorage(Int_t storage);
- void SetGridPath(const char *gridpath);
- Bool_t ConnectToGrid(const char *host, Int_t port, const char *username);
- Bool_t ReadESDCollection(TGridResult *result);
-
ClassDef(AliTagCreator,0)
};